
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Principal.java
 *
 * Created on 08/10/2009, 00:12:59
 */

/**
 *
 * @author igor_ufrn
 */
public class Principal extends javax.swing.JFrame {

    /** Creates new form Principal */
    public Principal() {

        initComponents();


        Toolkit current = Toolkit.getDefaultToolkit();
        Dimension screen = current.getScreenSize();

        
        frameTelaLogin.setLayout(new BorderLayout());
        frameTelaLogin.add(telaAutenticacao,BorderLayout.CENTER);
        frameTelaLogin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frameTelaLogin.setSize(280,230);
        Dimension dimTelaLogin = frameTelaLogin.getSize();
        frameTelaLogin.setVisible(true);
        frameTelaLogin.setResizable(false);
        frameTelaLogin.setLocation ( (screen.width - dimTelaLogin.width)/2, (screen.height - dimTelaLogin.height)/2);

        this.setVisible(false);
        
        
        setTitle("Sistema Comercial Integrado");        
        this.setSize(screen.width,screen.height);
        Dimension dim = this.getSize();
        this.setLocation ( (screen.width - dim.width)/2, (screen.height - dim.height)/2);
        



    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        telaCadastrarCliente = new javax.swing.JPanel();
        labelIdentidadeCliente = new javax.swing.JLabel();
        campoIdentidadeCliente = new javax.swing.JTextField();
        labelCpfCliente = new javax.swing.JLabel();
        campoCpfCliente = new javax.swing.JTextField();
        labelCidadeCliente = new javax.swing.JLabel();
        campoCidadeCliente = new javax.swing.JTextField();
        labelCreditoCliente = new javax.swing.JLabel();
        labelObservacoesCliente = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        campoObservacoesCliente = new javax.swing.JTextArea();
        botaoCadastrarCliente = new javax.swing.JButton();
        botaoCancelarCadastroCliente = new javax.swing.JButton();
        labelEstadoCliente = new javax.swing.JLabel();
        campoEstadoCliente = new javax.swing.JTextField();
        labelNumeroCliente = new javax.swing.JLabel();
        campoLogradouroCliente = new javax.swing.JTextField();
        labelLogradouroCliente = new javax.swing.JLabel();
        campoNumeroCliente = new javax.swing.JTextField();
        labelCepCliente = new javax.swing.JLabel();
        campoCepCliente = new javax.swing.JTextField();
        labelEmailCliente = new javax.swing.JLabel();
        campoEmailCliente = new javax.swing.JTextField();
        opcaoClienteMasculino = new javax.swing.JRadioButton();
        opcaoClienteFeminino = new javax.swing.JRadioButton();
        labelNomeCliente1 = new javax.swing.JLabel();
        campoCreditoCliente = new javax.swing.JTextField();
        campoNomeCliente = new javax.swing.JTextField();
        labelNomeCliente2 = new javax.swing.JLabel();
        campoDataNascimentoCliente = new javax.swing.JTextField();
        labelDataNascimentoCliente = new javax.swing.JLabel();
        telaConsultarCliente = new javax.swing.JPanel();
        campoConsultarIdentidadeCliente = new javax.swing.JTextField();
        campoConsultarCpfCliente = new javax.swing.JTextField();
        campoConsultarCreditoCliente = new javax.swing.JTextField();
        consultarCliente = new javax.swing.JButton();
        cancelarConsultaCliente = new javax.swing.JButton();
        campoConsultarNomeCliente = new javax.swing.JTextField();
        jScrollPane2 = new javax.swing.JScrollPane();
        tabelaConsultarCliente = new javax.swing.JTable();
        checkBoxNomeCliente = new javax.swing.JCheckBox();
        checkBoxIdentidadeCliente = new javax.swing.JCheckBox();
        checkBoxCreditoCliente = new javax.swing.JCheckBox();
        checkBoxCpfCliente = new javax.swing.JCheckBox();
        checkBoxDataNascCliente = new javax.swing.JCheckBox();
        campoConsultarDataNascCliente = new javax.swing.JTextField();
        telaAutenticacao = new javax.swing.JPanel();
        labelAutenticacaoUsuario = new javax.swing.JLabel();
        campoAutenticacaoLoginFuncionario = new javax.swing.JTextField();
        labelAutenticacaoSenha = new javax.swing.JLabel();
        botaoLogar = new javax.swing.JButton();
        campoAutenticacaoSenhaFuncionario = new javax.swing.JPasswordField();
        labelAutenticacao = new javax.swing.JLabel();
        buttonGroupSexo = new javax.swing.ButtonGroup();
        buttonGroupPapel = new javax.swing.ButtonGroup();
        frameTelaLogin = new javax.swing.JFrame();
        telaCadastrarProduto = new javax.swing.JPanel();
        labelCadastroNomeProduto = new javax.swing.JLabel();
        campoNomeProduto = new javax.swing.JTextField();
        labelCadastroDescricaoProduto = new javax.swing.JLabel();
        campoDescricaoProduto = new javax.swing.JTextField();
        campoPrecoCompraProduto = new javax.swing.JTextField();
        labelCadastroPrecoCompraProduto = new javax.swing.JLabel();
        campoPrecoVendaProduto = new javax.swing.JTextField();
        labelCadastroPrecoVendaProduto = new javax.swing.JLabel();
        labelCadastroCodigoBarrasProduto = new javax.swing.JLabel();
        campoEstoqueProduto = new javax.swing.JTextField();
        labelCadastroEstoqueProduto = new javax.swing.JLabel();
        campoCodigoBarrasProduto = new javax.swing.JTextField();
        botaoCadastrarProduto = new javax.swing.JButton();
        botaoCancelarCadastroProduto = new javax.swing.JButton();
        telaCadastrarFuncionario = new javax.swing.JPanel();
        campoLogradouroFuncionario = new javax.swing.JTextField();
        campoEstadoFuncionario = new javax.swing.JTextField();
        labelNumeroFuncionario = new javax.swing.JLabel();
        labelDataNascimentoFuncionario = new javax.swing.JLabel();
        botaoCancelarCadastroFuncionario = new javax.swing.JButton();
        labelEstadoFuncionario = new javax.swing.JLabel();
        botaoCadastrarFuncionario = new javax.swing.JButton();
        campoNumeroFuncionario = new javax.swing.JTextField();
        labelLogradouroFuncionario = new javax.swing.JLabel();
        labelCepFuncionario = new javax.swing.JLabel();
        campoCepFuncionario = new javax.swing.JTextField();
        labelEmailFuncionario = new javax.swing.JLabel();
        campoEmailFuncionario = new javax.swing.JTextField();
        opcaoFuncionarioMasculino = new javax.swing.JRadioButton();
        opcaoFuncionarioFeminino = new javax.swing.JRadioButton();
        labelSexoFuncionario = new javax.swing.JLabel();
        campoNomeFuncionario = new javax.swing.JTextField();
        campoCpfFuncionario = new javax.swing.JTextField();
        labelCpfFuncionario = new javax.swing.JLabel();
        campoDataNascimentoFuncionario = new javax.swing.JTextField();
        campoIdentidadeFuncionario = new javax.swing.JTextField();
        labelNomeFuncionario = new javax.swing.JLabel();
        labelIdentidadeFuncionario = new javax.swing.JLabel();
        campoCidadeFuncionario = new javax.swing.JTextField();
        labelCidadeFuncionario = new javax.swing.JLabel();
        campoSalarioFuncionario = new javax.swing.JTextField();
        labelSalarioFuncionario = new javax.swing.JLabel();
        opcaoFuncionarioGerente = new javax.swing.JRadioButton();
        opcaoFuncionarioNormal = new javax.swing.JRadioButton();
        labelPapelFuncionario = new javax.swing.JLabel();
        labelDataPagFuncionario = new javax.swing.JLabel();
        campoDataPagFuncionario = new javax.swing.JTextField();
        labelLoginFuncionario = new javax.swing.JLabel();
        campoLoginFuncionario = new javax.swing.JTextField();
        campoSenhaFuncionario = new javax.swing.JTextField();
        labelLoginFuncionario1 = new javax.swing.JLabel();
        telaConsultarProduto = new javax.swing.JPanel();
        checkBoxEstoqueProduto = new javax.swing.JCheckBox();
        checkBoxCodBarrasProduto = new javax.swing.JCheckBox();
        campoConsultarEstoqueProduto = new javax.swing.JTextField();
        campoConsultarCodBarrasProduto = new javax.swing.JTextField();
        checkBoxNomeProduto = new javax.swing.JCheckBox();
        campoConsultarNomeProduto = new javax.swing.JTextField();
        botaoCancelarConsultarProduto = new javax.swing.JButton();
        botaoConsultarProduto = new javax.swing.JButton();
        jScrollPane3 = new javax.swing.JScrollPane();
        tabelaConsultarProduto = new javax.swing.JTable();
        telaConsultarFuncionario = new javax.swing.JPanel();
        checkBoxDataNascFuncionario = new javax.swing.JCheckBox();
        checkBoxIdentidadeFuncionario = new javax.swing.JCheckBox();
        checkBoxCpfFuncionario = new javax.swing.JCheckBox();
        campoConsultarIdentidadeFuncionario = new javax.swing.JTextField();
        campoConsultarCpfFuncionario = new javax.swing.JTextField();
        botaoCancelarConsultaFuncionario = new javax.swing.JButton();
        botaoConsultarFuncionario = new javax.swing.JButton();
        checkBoxNomeFuncionario = new javax.swing.JCheckBox();
        jScrollPane4 = new javax.swing.JScrollPane();
        tabelaConsultarFuncionario = new javax.swing.JTable();
        campoConsultarNomeFuncionario = new javax.swing.JTextField();
        campoConsultarDataNascFuncionario = new javax.swing.JTextField();
        telaTicketVenda = new javax.swing.JPanel();
        campoTicketNomeCliente = new javax.swing.JTextField();
        labelTicketNomecliente = new javax.swing.JLabel();
        botaoTicketBuscarCliente = new javax.swing.JButton();
        botaoTicketBuscarProduto = new javax.swing.JButton();
        labelTicketNomeProduto = new javax.swing.JLabel();
        campoTicketNomeProduto = new javax.swing.JTextField();
        jScrollPane6 = new javax.swing.JScrollPane();
        tabelaTicketProduto = new javax.swing.JTable();
        jScrollPane5 = new javax.swing.JScrollPane();
        tabelaTicketNome = new javax.swing.JTable();
        botaoTicketFinalizarCompra = new javax.swing.JButton();
        botaoTicketAdicionarCompra = new javax.swing.JButton();
        telaRelatorioVendasCliente = new javax.swing.JPanel();
        botaoRelatorioBuscarCliente = new javax.swing.JButton();
        labelTicketNomecliente1 = new javax.swing.JLabel();
        campoRelatorioNomeCliente = new javax.swing.JTextField();
        jScrollPane7 = new javax.swing.JScrollPane();
        tabelaRelatorioNome = new javax.swing.JTable();
        botaoRelatorioGerarRelatorio = new javax.swing.JButton();
        jScrollPane8 = new javax.swing.JScrollPane();
        tabelaRelatorioVendasCliente = new javax.swing.JTable();
        telaRelatorioVendasFuncionario = new javax.swing.JPanel();
        jScrollPane9 = new javax.swing.JScrollPane();
        tabelaRelatorioFuncionario = new javax.swing.JTable();
        labelRelatorioVendasFuncionario = new javax.swing.JLabel();
        campoRelatorioNomeFuncionario = new javax.swing.JTextField();
        botaoRelatorioBuscarFuncionario = new javax.swing.JButton();
        jScrollPane10 = new javax.swing.JScrollPane();
        tabelaRelatorioVendasFuncionario = new javax.swing.JTable();
        botaoRelatorioGerarRelatorioFuncionario = new javax.swing.JButton();
        painelPrincipal = new javax.swing.JPanel();
        MenusPrincipais = new javax.swing.JMenuBar();
        cadastrarUsuarioSistema = new javax.swing.JMenu();
        preCadastrarCliente = new javax.swing.JMenuItem();
        preCadastrarProduto = new javax.swing.JMenuItem();
        preCadastrarFuncionario = new javax.swing.JMenuItem();
        consultar = new javax.swing.JMenu();
        preConsultarCliente = new javax.swing.JMenuItem();
        preConsultarProduto = new javax.swing.JMenuItem();
        preConsultarFuncionario = new javax.swing.JMenuItem();
        alterar = new javax.swing.JMenu();
        preAlterarCliente = new javax.swing.JMenuItem();
        remover = new javax.swing.JMenu();
        preRemoverCliente = new javax.swing.JMenuItem();
        movimentacao = new javax.swing.JMenu();
        preMovimentacaoTicketVenda = new javax.swing.JMenuItem();
        preMovimentacaoTicketCompra = new javax.swing.JMenuItem();
        preRelatorioVendas = new javax.swing.JMenu();
        preRelatoriosVendas = new javax.swing.JMenuItem();
        preRelatoriosVendasFuncionario = new javax.swing.JMenuItem();
        outros = new javax.swing.JMenu();
        preSair = new javax.swing.JMenuItem();

        telaCadastrarCliente.setBorder(javax.swing.BorderFactory.createTitledBorder("Cadastrar Cliente"));

        labelIdentidadeCliente.setText("Identidade:");

        campoIdentidadeCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoIdentidadeClienteActionPerformed(evt);
            }
        });

        labelCpfCliente.setText("CPF:");

        campoCpfCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoCpfClienteActionPerformed(evt);
            }
        });

        labelCidadeCliente.setText("Cidade:");

        campoCidadeCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoCidadeClienteActionPerformed(evt);
            }
        });

        labelCreditoCliente.setText("Crédito:");

        labelObservacoesCliente.setText("Observações:");

        campoObservacoesCliente.setColumns(20);
        campoObservacoesCliente.setRows(5);
        jScrollPane1.setViewportView(campoObservacoesCliente);

        botaoCadastrarCliente.setText("Cadastrar");
        botaoCadastrarCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoCadastrarClienteActionPerformed(evt);
            }
        });

        botaoCancelarCadastroCliente.setText("Cancelar");
        botaoCancelarCadastroCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoCancelarCadastroClienteActionPerformed(evt);
            }
        });

        labelEstadoCliente.setText("Estado:");

        campoEstadoCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoEstadoClienteActionPerformed(evt);
            }
        });

        labelNumeroCliente.setText("Número:");

        campoLogradouroCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoLogradouroClienteActionPerformed(evt);
            }
        });

        labelLogradouroCliente.setText("Logradouro:");

        campoNumeroCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoNumeroClienteActionPerformed(evt);
            }
        });

        labelCepCliente.setText("CEP:");

        campoCepCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoCepClienteActionPerformed(evt);
            }
        });

        labelEmailCliente.setText("Email:");

        campoEmailCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoEmailClienteActionPerformed(evt);
            }
        });

        buttonGroupSexo.add(opcaoClienteMasculino);
        opcaoClienteMasculino.setText("Masculino");

        buttonGroupSexo.add(opcaoClienteFeminino);
        opcaoClienteFeminino.setText("Feminino");

        labelNomeCliente1.setText("Sexo:");

        campoCreditoCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoCreditoClienteActionPerformed(evt);
            }
        });

        campoNomeCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoNomeClienteActionPerformed(evt);
            }
        });

        labelNomeCliente2.setText("Nome:");

        campoDataNascimentoCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoDataNascimentoClienteActionPerformed(evt);
            }
        });

        labelDataNascimentoCliente.setText("Data Nasc:");

        javax.swing.GroupLayout telaCadastrarClienteLayout = new javax.swing.GroupLayout(telaCadastrarCliente);
        telaCadastrarCliente.setLayout(telaCadastrarClienteLayout);
        telaCadastrarClienteLayout.setHorizontalGroup(
            telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaCadastrarClienteLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(telaCadastrarClienteLayout.createSequentialGroup()
                        .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(telaCadastrarClienteLayout.createSequentialGroup()
                                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(labelIdentidadeCliente)
                                    .addComponent(labelNomeCliente1)
                                    .addComponent(labelNomeCliente2))
                                .addGap(18, 18, 18)
                                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(telaCadastrarClienteLayout.createSequentialGroup()
                                        .addComponent(opcaoClienteMasculino)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(opcaoClienteFeminino))
                                    .addGroup(telaCadastrarClienteLayout.createSequentialGroup()
                                        .addComponent(campoIdentidadeCliente, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(labelCpfCliente)
                                        .addGap(12, 12, 12)
                                        .addComponent(campoCpfCliente, javax.swing.GroupLayout.DEFAULT_SIZE, 165, Short.MAX_VALUE))
                                    .addComponent(campoNomeCliente, javax.swing.GroupLayout.DEFAULT_SIZE, 362, Short.MAX_VALUE)
                                    .addComponent(campoDataNascimentoCliente, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addGroup(telaCadastrarClienteLayout.createSequentialGroup()
                                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, telaCadastrarClienteLayout.createSequentialGroup()
                                        .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(labelObservacoesCliente)
                                            .addComponent(labelCreditoCliente))
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, telaCadastrarClienteLayout.createSequentialGroup()
                                                .addComponent(botaoCadastrarCliente, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                                .addComponent(botaoCancelarCadastroCliente, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE))
                                            .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 251, Short.MAX_VALUE)
                                            .addComponent(campoCreditoCliente, javax.swing.GroupLayout.DEFAULT_SIZE, 251, Short.MAX_VALUE)))
                                    .addGroup(telaCadastrarClienteLayout.createSequentialGroup()
                                        .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(labelCidadeCliente)
                                            .addComponent(labelLogradouroCliente)
                                            .addComponent(labelEmailCliente)
                                            .addComponent(labelCepCliente))
                                        .addGap(15, 15, 15)
                                        .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                            .addComponent(campoLogradouroCliente, javax.swing.GroupLayout.DEFAULT_SIZE, 248, Short.MAX_VALUE)
                                            .addComponent(campoCidadeCliente, javax.swing.GroupLayout.DEFAULT_SIZE, 248, Short.MAX_VALUE)
                                            .addComponent(campoCepCliente, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 248, Short.MAX_VALUE)
                                            .addComponent(campoEmailCliente, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 248, Short.MAX_VALUE))))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, telaCadastrarClienteLayout.createSequentialGroup()
                                        .addComponent(labelEstadoCliente)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(campoEstadoCliente, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, telaCadastrarClienteLayout.createSequentialGroup()
                                        .addComponent(labelNumeroCliente)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(campoNumeroCliente, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                        .addGap(528, 528, 528))
                    .addComponent(labelDataNascimentoCliente)))
        );
        telaCadastrarClienteLayout.setVerticalGroup(
            telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaCadastrarClienteLayout.createSequentialGroup()
                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoNomeCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelNomeCliente2))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(opcaoClienteMasculino)
                    .addComponent(opcaoClienteFeminino)
                    .addComponent(labelNomeCliente1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelIdentidadeCliente)
                    .addComponent(campoIdentidadeCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(campoCpfCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelCpfCliente))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelDataNascimentoCliente)
                    .addComponent(campoDataNascimentoCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(10, 10, 10)
                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelCidadeCliente)
                    .addComponent(campoCidadeCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelEstadoCliente)
                    .addComponent(campoEstadoCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoLogradouroCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelNumeroCliente)
                    .addComponent(labelLogradouroCliente)
                    .addComponent(campoNumeroCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelCepCliente)
                    .addComponent(campoCepCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelEmailCliente)
                    .addComponent(campoEmailCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelCreditoCliente)
                    .addComponent(campoCreditoCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(labelObservacoesCliente)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(telaCadastrarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(botaoCadastrarCliente)
                    .addComponent(botaoCancelarCadastroCliente))
                .addContainerGap(282, Short.MAX_VALUE))
        );

        telaConsultarCliente.setBorder(javax.swing.BorderFactory.createTitledBorder("Consultar Cliente"));

        campoConsultarIdentidadeCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoConsultarIdentidadeClienteActionPerformed(evt);
            }
        });

        campoConsultarCpfCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoConsultarCpfClienteActionPerformed(evt);
            }
        });

        campoConsultarCreditoCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoConsultarCreditoClienteActionPerformed(evt);
            }
        });

        consultarCliente.setText("Consultar");
        consultarCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                consultarClienteActionPerformed(evt);
            }
        });

        cancelarConsultaCliente.setText("Cancelar");
        cancelarConsultaCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cancelarConsultaClienteActionPerformed(evt);
            }
        });

        campoConsultarNomeCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoConsultarNomeClienteActionPerformed(evt);
            }
        });

        tabelaConsultarCliente.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane2.setViewportView(tabelaConsultarCliente);

        checkBoxNomeCliente.setText("Nome:");
        checkBoxNomeCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                checkBoxNomeClienteActionPerformed(evt);
            }
        });

        checkBoxIdentidadeCliente.setText("Identidade:");
        checkBoxIdentidadeCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                checkBoxIdentidadeClienteActionPerformed(evt);
            }
        });

        checkBoxCreditoCliente.setText("Crédito maior que:");
        checkBoxCreditoCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                checkBoxCreditoClienteActionPerformed(evt);
            }
        });

        checkBoxCpfCliente.setText("Cpf:");
        checkBoxCpfCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                checkBoxCpfClienteActionPerformed(evt);
            }
        });

        checkBoxDataNascCliente.setText("Data Nascimento:");
        checkBoxDataNascCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                checkBoxDataNascClienteActionPerformed(evt);
            }
        });

        campoConsultarDataNascCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoConsultarDataNascClienteActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout telaConsultarClienteLayout = new javax.swing.GroupLayout(telaConsultarCliente);
        telaConsultarCliente.setLayout(telaConsultarClienteLayout);
        telaConsultarClienteLayout.setHorizontalGroup(
            telaConsultarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaConsultarClienteLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(telaConsultarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(telaConsultarClienteLayout.createSequentialGroup()
                        .addComponent(checkBoxDataNascCliente)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(campoConsultarDataNascCliente))
                    .addGroup(telaConsultarClienteLayout.createSequentialGroup()
                        .addGroup(telaConsultarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(checkBoxNomeCliente)
                            .addComponent(checkBoxIdentidadeCliente)
                            .addComponent(checkBoxCreditoCliente)
                            .addComponent(checkBoxCpfCliente))
                        .addGap(6, 6, 6)
                        .addGroup(telaConsultarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(campoConsultarCpfCliente, javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(campoConsultarIdentidadeCliente, javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(campoConsultarNomeCliente, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 418, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(telaConsultarClienteLayout.createSequentialGroup()
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addGroup(telaConsultarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(telaConsultarClienteLayout.createSequentialGroup()
                                        .addComponent(consultarCliente, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(cancelarConsultaCliente, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addComponent(campoConsultarCreditoCliente)))))
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(934, Short.MAX_VALUE))
        );
        telaConsultarClienteLayout.setVerticalGroup(
            telaConsultarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaConsultarClienteLayout.createSequentialGroup()
                .addGap(11, 11, 11)
                .addGroup(telaConsultarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoConsultarNomeCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(checkBoxNomeCliente))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(telaConsultarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoConsultarIdentidadeCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(checkBoxIdentidadeCliente))
                .addGap(5, 5, 5)
                .addGroup(telaConsultarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoConsultarCpfCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(checkBoxCpfCliente))
                .addGap(6, 6, 6)
                .addGroup(telaConsultarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoConsultarCreditoCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(checkBoxCreditoCliente))
                .addGap(7, 7, 7)
                .addGroup(telaConsultarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoConsultarDataNascCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(checkBoxDataNascCliente))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaConsultarClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(consultarCliente)
                    .addComponent(cancelarConsultaCliente))
                .addGap(73, 73, 73)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 123, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(270, Short.MAX_VALUE))
        );

        labelAutenticacaoUsuario.setText("Usuário:");

        labelAutenticacaoSenha.setText("Senha:");

        botaoLogar.setText("Logar");
        botaoLogar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoLogarActionPerformed(evt);
            }
        });

        labelAutenticacao.setFont(new java.awt.Font("Times New Roman", 2, 18));
        labelAutenticacao.setText("Autenticação");

        javax.swing.GroupLayout telaAutenticacaoLayout = new javax.swing.GroupLayout(telaAutenticacao);
        telaAutenticacao.setLayout(telaAutenticacaoLayout);
        telaAutenticacaoLayout.setHorizontalGroup(
            telaAutenticacaoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaAutenticacaoLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(telaAutenticacaoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(telaAutenticacaoLayout.createSequentialGroup()
                        .addGroup(telaAutenticacaoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(labelAutenticacaoSenha)
                            .addComponent(labelAutenticacaoUsuario))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(telaAutenticacaoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(botaoLogar, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(campoAutenticacaoSenhaFuncionario, javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(campoAutenticacaoLoginFuncionario, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 141, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(telaAutenticacaoLayout.createSequentialGroup()
                        .addGap(66, 66, 66)
                        .addComponent(labelAutenticacao, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(37, Short.MAX_VALUE))
        );
        telaAutenticacaoLayout.setVerticalGroup(
            telaAutenticacaoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaAutenticacaoLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(labelAutenticacao, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(telaAutenticacaoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelAutenticacaoUsuario)
                    .addComponent(campoAutenticacaoLoginFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaAutenticacaoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelAutenticacaoSenha)
                    .addComponent(campoAutenticacaoSenhaFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(botaoLogar)
                .addContainerGap(39, Short.MAX_VALUE))
        );

        frameTelaLogin.addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosed(java.awt.event.WindowEvent evt) {
                frameTelaLoginWindowClosed(evt);
            }
        });

        javax.swing.GroupLayout frameTelaLoginLayout = new javax.swing.GroupLayout(frameTelaLogin.getContentPane());
        frameTelaLogin.getContentPane().setLayout(frameTelaLoginLayout);
        frameTelaLoginLayout.setHorizontalGroup(
            frameTelaLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
        );
        frameTelaLoginLayout.setVerticalGroup(
            frameTelaLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 300, Short.MAX_VALUE)
        );

        telaCadastrarProduto.setBorder(javax.swing.BorderFactory.createTitledBorder("Cadastrar Produto"));

        labelCadastroNomeProduto.setText("Nome:");

        campoNomeProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoNomeProdutoActionPerformed(evt);
            }
        });

        labelCadastroDescricaoProduto.setText("Descrição:");

        campoDescricaoProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoDescricaoProdutoActionPerformed(evt);
            }
        });

        campoPrecoCompraProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoPrecoCompraProdutoActionPerformed(evt);
            }
        });

        labelCadastroPrecoCompraProduto.setText("Preço Compra:");

        campoPrecoVendaProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoPrecoVendaProdutoActionPerformed(evt);
            }
        });

        labelCadastroPrecoVendaProduto.setText("Preço Compra:");

        labelCadastroCodigoBarrasProduto.setText("Código de Barras:");

        campoEstoqueProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoEstoqueProdutoActionPerformed(evt);
            }
        });

        labelCadastroEstoqueProduto.setText("Estoque:");

        campoCodigoBarrasProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoCodigoBarrasProdutoActionPerformed(evt);
            }
        });

        botaoCadastrarProduto.setText("Cadastrar");
        botaoCadastrarProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoCadastrarProdutoActionPerformed(evt);
            }
        });

        botaoCancelarCadastroProduto.setText("Cancelar");
        botaoCancelarCadastroProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoCancelarCadastroProdutoActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout telaCadastrarProdutoLayout = new javax.swing.GroupLayout(telaCadastrarProduto);
        telaCadastrarProduto.setLayout(telaCadastrarProdutoLayout);
        telaCadastrarProdutoLayout.setHorizontalGroup(
            telaCadastrarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaCadastrarProdutoLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(telaCadastrarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(labelCadastroEstoqueProduto)
                    .addComponent(labelCadastroCodigoBarrasProduto)
                    .addComponent(labelCadastroPrecoVendaProduto)
                    .addComponent(labelCadastroPrecoCompraProduto)
                    .addComponent(labelCadastroDescricaoProduto)
                    .addComponent(labelCadastroNomeProduto))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(telaCadastrarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(telaCadastrarProdutoLayout.createSequentialGroup()
                        .addComponent(botaoCadastrarProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(botaoCancelarCadastroProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(telaCadastrarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(campoPrecoCompraProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 283, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(campoPrecoVendaProduto, javax.swing.GroupLayout.DEFAULT_SIZE, 59, Short.MAX_VALUE)
                        .addComponent(campoCodigoBarrasProduto)
                        .addComponent(campoEstoqueProduto, javax.swing.GroupLayout.DEFAULT_SIZE, 59, Short.MAX_VALUE)
                        .addComponent(campoDescricaoProduto)
                        .addComponent(campoNomeProduto, javax.swing.GroupLayout.DEFAULT_SIZE, 256, Short.MAX_VALUE)))
                .addContainerGap(72, Short.MAX_VALUE))
        );
        telaCadastrarProdutoLayout.setVerticalGroup(
            telaCadastrarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaCadastrarProdutoLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(telaCadastrarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoNomeProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelCadastroNomeProduto))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoDescricaoProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelCadastroDescricaoProduto))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoPrecoCompraProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelCadastroPrecoCompraProduto))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoPrecoVendaProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelCadastroPrecoVendaProduto))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelCadastroEstoqueProduto)
                    .addComponent(campoEstoqueProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelCadastroCodigoBarrasProduto)
                    .addComponent(campoCodigoBarrasProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(telaCadastrarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(botaoCadastrarProduto)
                    .addComponent(botaoCancelarCadastroProduto))
                .addContainerGap(12, Short.MAX_VALUE))
        );

        telaCadastrarFuncionario.setBorder(javax.swing.BorderFactory.createTitledBorder("Cadastrar Funcionário"));

        campoLogradouroFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoLogradouroFuncionarioActionPerformed(evt);
            }
        });

        campoEstadoFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoEstadoFuncionarioActionPerformed(evt);
            }
        });

        labelNumeroFuncionario.setText("Número:");

        labelDataNascimentoFuncionario.setText("Data Nasc:");

        botaoCancelarCadastroFuncionario.setText("Cancelar");
        botaoCancelarCadastroFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoCancelarCadastroFuncionarioActionPerformed(evt);
            }
        });

        labelEstadoFuncionario.setText("Estado:");

        botaoCadastrarFuncionario.setText("Cadastrar");
        botaoCadastrarFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoCadastrarFuncionarioActionPerformed(evt);
            }
        });

        campoNumeroFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoNumeroFuncionarioActionPerformed(evt);
            }
        });

        labelLogradouroFuncionario.setText("Logradouro:");

        labelCepFuncionario.setText("CEP:");

        campoCepFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoCepFuncionarioActionPerformed(evt);
            }
        });

        labelEmailFuncionario.setText("Email:");

        campoEmailFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoEmailFuncionarioActionPerformed(evt);
            }
        });

        buttonGroupSexo.add(opcaoFuncionarioMasculino);
        opcaoFuncionarioMasculino.setText("Masculino");

        buttonGroupSexo.add(opcaoFuncionarioFeminino);
        opcaoFuncionarioFeminino.setText("Feminino");

        labelSexoFuncionario.setText("Sexo:");

        campoNomeFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoNomeFuncionarioActionPerformed(evt);
            }
        });

        campoCpfFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoCpfFuncionarioActionPerformed(evt);
            }
        });

        labelCpfFuncionario.setText("CPF:");

        campoDataNascimentoFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoDataNascimentoFuncionarioActionPerformed(evt);
            }
        });

        campoIdentidadeFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoIdentidadeFuncionarioActionPerformed(evt);
            }
        });

        labelNomeFuncionario.setText("Nome:");

        labelIdentidadeFuncionario.setText("Identidade:");

        campoCidadeFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoCidadeFuncionarioActionPerformed(evt);
            }
        });

        labelCidadeFuncionario.setText("Cidade:");

        campoSalarioFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoSalarioFuncionarioActionPerformed(evt);
            }
        });

        labelSalarioFuncionario.setText("Salário:");

        buttonGroupPapel.add(opcaoFuncionarioGerente);
        opcaoFuncionarioGerente.setText("Gerente");

        buttonGroupPapel.add(opcaoFuncionarioNormal);
        opcaoFuncionarioNormal.setText("Funcionário Normal");

        labelPapelFuncionario.setText("Papel:");

        labelDataPagFuncionario.setText("Data Pag.:");

        campoDataPagFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoDataPagFuncionarioActionPerformed(evt);
            }
        });

        labelLoginFuncionario.setText("Login:");

        campoLoginFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoLoginFuncionarioActionPerformed(evt);
            }
        });

        campoSenhaFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoSenhaFuncionarioActionPerformed(evt);
            }
        });

        labelLoginFuncionario1.setText("Senha:");

        javax.swing.GroupLayout telaCadastrarFuncionarioLayout = new javax.swing.GroupLayout(telaCadastrarFuncionario);
        telaCadastrarFuncionario.setLayout(telaCadastrarFuncionarioLayout);
        telaCadastrarFuncionarioLayout.setHorizontalGroup(
            telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaCadastrarFuncionarioLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(labelSalarioFuncionario)
                    .addComponent(labelDataNascimentoFuncionario)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, telaCadastrarFuncionarioLayout.createSequentialGroup()
                        .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, telaCadastrarFuncionarioLayout.createSequentialGroup()
                                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(labelIdentidadeFuncionario)
                                    .addComponent(labelSexoFuncionario)
                                    .addComponent(labelNomeFuncionario))
                                .addGap(18, 18, 18)
                                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(telaCadastrarFuncionarioLayout.createSequentialGroup()
                                        .addComponent(opcaoFuncionarioMasculino)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(opcaoFuncionarioFeminino))
                                    .addGroup(telaCadastrarFuncionarioLayout.createSequentialGroup()
                                        .addComponent(campoIdentidadeFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(labelCpfFuncionario)
                                        .addGap(12, 12, 12)
                                        .addComponent(campoCpfFuncionario, javax.swing.GroupLayout.DEFAULT_SIZE, 261, Short.MAX_VALUE))
                                    .addComponent(campoNomeFuncionario, javax.swing.GroupLayout.DEFAULT_SIZE, 458, Short.MAX_VALUE)
                                    .addComponent(campoDataNascimentoFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, telaCadastrarFuncionarioLayout.createSequentialGroup()
                                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(labelCidadeFuncionario)
                                    .addComponent(labelLogradouroFuncionario)
                                    .addComponent(labelEmailFuncionario)
                                    .addComponent(labelCepFuncionario))
                                .addGap(15, 15, 15)
                                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(campoLogradouroFuncionario, javax.swing.GroupLayout.DEFAULT_SIZE, 344, Short.MAX_VALUE)
                                    .addComponent(campoCidadeFuncionario, javax.swing.GroupLayout.DEFAULT_SIZE, 344, Short.MAX_VALUE)
                                    .addComponent(campoCepFuncionario, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 344, Short.MAX_VALUE)
                                    .addComponent(campoEmailFuncionario, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 344, Short.MAX_VALUE)
                                    .addComponent(campoSalarioFuncionario, javax.swing.GroupLayout.DEFAULT_SIZE, 344, Short.MAX_VALUE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, telaCadastrarFuncionarioLayout.createSequentialGroup()
                                        .addComponent(labelEstadoFuncionario)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(campoEstadoFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, telaCadastrarFuncionarioLayout.createSequentialGroup()
                                        .addComponent(labelNumeroFuncionario)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(campoNumeroFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                        .addGap(528, 528, 528))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, telaCadastrarFuncionarioLayout.createSequentialGroup()
                        .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(labelDataPagFuncionario, javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, telaCadastrarFuncionarioLayout.createSequentialGroup()
                                .addGap(74, 74, 74)
                                .addComponent(campoDataPagFuncionario, javax.swing.GroupLayout.DEFAULT_SIZE, 379, Short.MAX_VALUE)))
                        .addContainerGap(607, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(telaCadastrarFuncionarioLayout.createSequentialGroup()
                        .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(telaCadastrarFuncionarioLayout.createSequentialGroup()
                                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(labelLoginFuncionario)
                                    .addGroup(telaCadastrarFuncionarioLayout.createSequentialGroup()
                                        .addGap(74, 74, 74)
                                        .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addGroup(telaCadastrarFuncionarioLayout.createSequentialGroup()
                                                .addComponent(botaoCadastrarFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(botaoCancelarCadastroFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE))
                                            .addComponent(campoLoginFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE))))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 6, Short.MAX_VALUE)
                                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(telaCadastrarFuncionarioLayout.createSequentialGroup()
                                        .addComponent(labelLoginFuncionario1)
                                        .addGap(143, 143, 143))
                                    .addGroup(telaCadastrarFuncionarioLayout.createSequentialGroup()
                                        .addGap(74, 74, 74)
                                        .addComponent(campoSenhaFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE))))
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, telaCadastrarFuncionarioLayout.createSequentialGroup()
                                .addComponent(labelPapelFuncionario)
                                .addGap(44, 44, 44)
                                .addComponent(opcaoFuncionarioGerente)
                                .addGap(33, 33, 33)
                                .addComponent(opcaoFuncionarioNormal, javax.swing.GroupLayout.DEFAULT_SIZE, 196, Short.MAX_VALUE)
                                .addGap(83, 83, 83)))
                        .addGap(609, 609, 609))))
        );
        telaCadastrarFuncionarioLayout.setVerticalGroup(
            telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaCadastrarFuncionarioLayout.createSequentialGroup()
                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoNomeFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelNomeFuncionario))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(opcaoFuncionarioMasculino)
                    .addComponent(opcaoFuncionarioFeminino)
                    .addComponent(labelSexoFuncionario))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelIdentidadeFuncionario)
                    .addComponent(campoIdentidadeFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(campoCpfFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelCpfFuncionario))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelDataNascimentoFuncionario)
                    .addComponent(campoDataNascimentoFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(10, 10, 10)
                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelCidadeFuncionario)
                    .addComponent(campoCidadeFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelEstadoFuncionario)
                    .addComponent(campoEstadoFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoLogradouroFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelNumeroFuncionario)
                    .addComponent(labelLogradouroFuncionario)
                    .addComponent(campoNumeroFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelCepFuncionario)
                    .addComponent(campoCepFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelEmailFuncionario)
                    .addComponent(campoEmailFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoSalarioFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelSalarioFuncionario))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoDataPagFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelDataPagFuncionario))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(labelPapelFuncionario)
                    .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(opcaoFuncionarioGerente)
                        .addComponent(opcaoFuncionarioNormal)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoLoginFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelLoginFuncionario)
                    .addComponent(campoSenhaFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelLoginFuncionario1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaCadastrarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(botaoCadastrarFuncionario)
                    .addComponent(botaoCancelarCadastroFuncionario))
                .addContainerGap(46, Short.MAX_VALUE))
        );

        telaConsultarProduto.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder("Consultar Produto")));

        checkBoxEstoqueProduto.setText("Estoque Menor que:");
        checkBoxEstoqueProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                checkBoxEstoqueProdutoActionPerformed(evt);
            }
        });

        checkBoxCodBarrasProduto.setText("Cod Barras:");
        checkBoxCodBarrasProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                checkBoxCodBarrasProdutoActionPerformed(evt);
            }
        });

        campoConsultarEstoqueProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoConsultarEstoqueProdutoActionPerformed(evt);
            }
        });

        campoConsultarCodBarrasProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoConsultarCodBarrasProdutoActionPerformed(evt);
            }
        });

        checkBoxNomeProduto.setText("Nome:");
        checkBoxNomeProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                checkBoxNomeProdutoActionPerformed(evt);
            }
        });

        campoConsultarNomeProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoConsultarNomeProdutoActionPerformed(evt);
            }
        });

        botaoCancelarConsultarProduto.setText("Cancelar");
        botaoCancelarConsultarProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoCancelarConsultarProdutoActionPerformed(evt);
            }
        });

        botaoConsultarProduto.setText("Consultar");
        botaoConsultarProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoConsultarProdutoActionPerformed(evt);
            }
        });

        tabelaConsultarProduto.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane3.setViewportView(tabelaConsultarProduto);

        javax.swing.GroupLayout telaConsultarProdutoLayout = new javax.swing.GroupLayout(telaConsultarProduto);
        telaConsultarProduto.setLayout(telaConsultarProdutoLayout);
        telaConsultarProdutoLayout.setHorizontalGroup(
            telaConsultarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaConsultarProdutoLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(telaConsultarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(telaConsultarProdutoLayout.createSequentialGroup()
                        .addGroup(telaConsultarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(checkBoxNomeProduto)
                            .addComponent(checkBoxEstoqueProduto)
                            .addComponent(checkBoxCodBarrasProduto))
                        .addGap(6, 6, 6)
                        .addGroup(telaConsultarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(telaConsultarProdutoLayout.createSequentialGroup()
                                .addComponent(botaoConsultarProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(botaoCancelarConsultarProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(telaConsultarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(campoConsultarCodBarrasProduto, javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(campoConsultarEstoqueProduto, javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(campoConsultarNomeProduto, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 418, javax.swing.GroupLayout.PREFERRED_SIZE))))
                    .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(14, Short.MAX_VALUE))
        );
        telaConsultarProdutoLayout.setVerticalGroup(
            telaConsultarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaConsultarProdutoLayout.createSequentialGroup()
                .addGap(11, 11, 11)
                .addGroup(telaConsultarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoConsultarNomeProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(checkBoxNomeProduto))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(telaConsultarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoConsultarEstoqueProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(checkBoxEstoqueProduto))
                .addGap(5, 5, 5)
                .addGroup(telaConsultarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoConsultarCodBarrasProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(checkBoxCodBarrasProduto))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(telaConsultarProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(botaoConsultarProduto)
                    .addComponent(botaoCancelarConsultarProduto))
                .addGap(18, 18, 18)
                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 123, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(60, Short.MAX_VALUE))
        );

        telaConsultarFuncionario.setBorder(javax.swing.BorderFactory.createTitledBorder("Consultar Funcionário"));

        checkBoxDataNascFuncionario.setText("Data Nascimento:");
        checkBoxDataNascFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                checkBoxDataNascFuncionarioActionPerformed(evt);
            }
        });

        checkBoxIdentidadeFuncionario.setText("Identidade:");
        checkBoxIdentidadeFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                checkBoxIdentidadeFuncionarioActionPerformed(evt);
            }
        });

        checkBoxCpfFuncionario.setText("Cpf:");
        checkBoxCpfFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                checkBoxCpfFuncionarioActionPerformed(evt);
            }
        });

        campoConsultarIdentidadeFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoConsultarIdentidadeFuncionarioActionPerformed(evt);
            }
        });

        campoConsultarCpfFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoConsultarCpfFuncionarioActionPerformed(evt);
            }
        });

        botaoCancelarConsultaFuncionario.setText("Cancelar");
        botaoCancelarConsultaFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoCancelarConsultaFuncionarioActionPerformed(evt);
            }
        });

        botaoConsultarFuncionario.setText("Consultar");
        botaoConsultarFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoConsultarFuncionarioActionPerformed(evt);
            }
        });

        checkBoxNomeFuncionario.setText("Nome:");
        checkBoxNomeFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                checkBoxNomeFuncionarioActionPerformed(evt);
            }
        });

        tabelaConsultarFuncionario.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane4.setViewportView(tabelaConsultarFuncionario);

        campoConsultarNomeFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoConsultarNomeFuncionarioActionPerformed(evt);
            }
        });

        campoConsultarDataNascFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoConsultarDataNascFuncionarioActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout telaConsultarFuncionarioLayout = new javax.swing.GroupLayout(telaConsultarFuncionario);
        telaConsultarFuncionario.setLayout(telaConsultarFuncionarioLayout);
        telaConsultarFuncionarioLayout.setHorizontalGroup(
            telaConsultarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaConsultarFuncionarioLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(telaConsultarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(telaConsultarFuncionarioLayout.createSequentialGroup()
                        .addGroup(telaConsultarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(checkBoxNomeFuncionario)
                            .addComponent(checkBoxIdentidadeFuncionario)
                            .addComponent(checkBoxCpfFuncionario))
                        .addGap(40, 40, 40)
                        .addGroup(telaConsultarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(campoConsultarCpfFuncionario, javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(campoConsultarIdentidadeFuncionario, javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(campoConsultarNomeFuncionario, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 418, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(telaConsultarFuncionarioLayout.createSequentialGroup()
                        .addComponent(checkBoxDataNascFuncionario)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(telaConsultarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(telaConsultarFuncionarioLayout.createSequentialGroup()
                                .addComponent(botaoConsultarFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(botaoCancelarConsultaFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(campoConsultarDataNascFuncionario, javax.swing.GroupLayout.DEFAULT_SIZE, 422, Short.MAX_VALUE)))
                    .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );
        telaConsultarFuncionarioLayout.setVerticalGroup(
            telaConsultarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaConsultarFuncionarioLayout.createSequentialGroup()
                .addGap(11, 11, 11)
                .addGroup(telaConsultarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoConsultarNomeFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(checkBoxNomeFuncionario))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(telaConsultarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoConsultarIdentidadeFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(checkBoxIdentidadeFuncionario))
                .addGap(5, 5, 5)
                .addGroup(telaConsultarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoConsultarCpfFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(checkBoxCpfFuncionario))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(telaConsultarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoConsultarDataNascFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(checkBoxDataNascFuncionario))
                .addGap(18, 18, 18)
                .addGroup(telaConsultarFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(botaoConsultarFuncionario)
                    .addComponent(botaoCancelarConsultaFuncionario))
                .addGap(18, 18, 18)
                .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 123, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(58, Short.MAX_VALUE))
        );

        campoTicketNomeCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoTicketNomeClienteActionPerformed(evt);
            }
        });

        labelTicketNomecliente.setText("Nome Cliente:");

        botaoTicketBuscarCliente.setText("Buscar");
        botaoTicketBuscarCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoTicketBuscarClienteActionPerformed(evt);
            }
        });

        botaoTicketBuscarProduto.setText("Buscar");
        botaoTicketBuscarProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoTicketBuscarProdutoActionPerformed(evt);
            }
        });

        labelTicketNomeProduto.setText("Nome Produto:");

        campoTicketNomeProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoTicketNomeProdutoActionPerformed(evt);
            }
        });

        tabelaTicketProduto.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane6.setViewportView(tabelaTicketProduto);

        tabelaTicketNome.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane5.setViewportView(tabelaTicketNome);

        botaoTicketFinalizarCompra.setText("Finalizar");
        botaoTicketFinalizarCompra.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoTicketFinalizarCompraActionPerformed(evt);
            }
        });

        botaoTicketAdicionarCompra.setText("Adicionar");
        botaoTicketAdicionarCompra.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoTicketAdicionarCompraActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout telaTicketVendaLayout = new javax.swing.GroupLayout(telaTicketVenda);
        telaTicketVenda.setLayout(telaTicketVendaLayout);
        telaTicketVendaLayout.setHorizontalGroup(
            telaTicketVendaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaTicketVendaLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(telaTicketVendaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(telaTicketVendaLayout.createSequentialGroup()
                        .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 452, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap())
                    .addGroup(telaTicketVendaLayout.createSequentialGroup()
                        .addGap(11, 11, 11)
                        .addComponent(labelTicketNomecliente)
                        .addGap(18, 18, 18)
                        .addComponent(campoTicketNomeCliente, javax.swing.GroupLayout.PREFERRED_SIZE, 171, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(botaoTicketBuscarCliente, javax.swing.GroupLayout.DEFAULT_SIZE, 174, Short.MAX_VALUE)
                        .addContainerGap(191, Short.MAX_VALUE))
                    .addGroup(telaTicketVendaLayout.createSequentialGroup()
                        .addGroup(telaTicketVendaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(telaTicketVendaLayout.createSequentialGroup()
                                .addGap(11, 11, 11)
                                .addComponent(labelTicketNomeProduto)
                                .addGap(18, 18, 18)
                                .addComponent(campoTicketNomeProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 264, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(botaoTicketBuscarProduto, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 451, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, telaTicketVendaLayout.createSequentialGroup()
                                .addComponent(botaoTicketAdicionarCompra, javax.swing.GroupLayout.PREFERRED_SIZE, 175, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(41, 41, 41)
                                .addComponent(botaoTicketFinalizarCompra, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addContainerGap(191, Short.MAX_VALUE))))
        );
        telaTicketVendaLayout.setVerticalGroup(
            telaTicketVendaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaTicketVendaLayout.createSequentialGroup()
                .addGap(25, 25, 25)
                .addGroup(telaTicketVendaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoTicketNomeCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelTicketNomecliente)
                    .addComponent(botaoTicketBuscarCliente))
                .addGap(17, 17, 17)
                .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(telaTicketVendaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoTicketNomeProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelTicketNomeProduto)
                    .addComponent(botaoTicketBuscarProduto))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(telaTicketVendaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(botaoTicketFinalizarCompra)
                    .addComponent(botaoTicketAdicionarCompra))
                .addContainerGap(51, Short.MAX_VALUE))
        );

        botaoRelatorioBuscarCliente.setText("Buscar");
        botaoRelatorioBuscarCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoRelatorioBuscarClienteActionPerformed(evt);
            }
        });

        labelTicketNomecliente1.setText("Nome Cliente:");

        campoRelatorioNomeCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoRelatorioNomeClienteActionPerformed(evt);
            }
        });

        tabelaRelatorioNome.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane7.setViewportView(tabelaRelatorioNome);

        botaoRelatorioGerarRelatorio.setText("Gerar");
        botaoRelatorioGerarRelatorio.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoRelatorioGerarRelatorioActionPerformed(evt);
            }
        });

        tabelaRelatorioVendasCliente.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane8.setViewportView(tabelaRelatorioVendasCliente);

        javax.swing.GroupLayout telaRelatorioVendasClienteLayout = new javax.swing.GroupLayout(telaRelatorioVendasCliente);
        telaRelatorioVendasCliente.setLayout(telaRelatorioVendasClienteLayout);
        telaRelatorioVendasClienteLayout.setHorizontalGroup(
            telaRelatorioVendasClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaRelatorioVendasClienteLayout.createSequentialGroup()
                .addGap(21, 21, 21)
                .addGroup(telaRelatorioVendasClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(telaRelatorioVendasClienteLayout.createSequentialGroup()
                        .addGroup(telaRelatorioVendasClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 452, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(telaRelatorioVendasClienteLayout.createSequentialGroup()
                                .addComponent(botaoRelatorioGerarRelatorio, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 327, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addContainerGap())
                    .addGroup(telaRelatorioVendasClienteLayout.createSequentialGroup()
                        .addGroup(telaRelatorioVendasClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 452, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(telaRelatorioVendasClienteLayout.createSequentialGroup()
                                .addComponent(labelTicketNomecliente1)
                                .addGap(18, 18, 18)
                                .addComponent(campoRelatorioNomeCliente, javax.swing.GroupLayout.PREFERRED_SIZE, 171, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(76, 76, 76)
                                .addComponent(botaoRelatorioBuscarCliente, javax.swing.GroupLayout.DEFAULT_SIZE, 120, Short.MAX_VALUE)))
                        .addContainerGap(157, Short.MAX_VALUE))))
        );
        telaRelatorioVendasClienteLayout.setVerticalGroup(
            telaRelatorioVendasClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(telaRelatorioVendasClienteLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(telaRelatorioVendasClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoRelatorioNomeCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelTicketNomecliente1)
                    .addComponent(botaoRelatorioBuscarCliente))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(botaoRelatorioGerarRelatorio)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(75, Short.MAX_VALUE))
        );

        tabelaRelatorioFuncionario.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane9.setViewportView(tabelaRelatorioFuncionario);

        labelRelatorioVendasFuncionario.setText("Nome Funcionario:");

        campoRelatorioNomeFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                campoRelatorioNomeFuncionarioActionPerformed(evt);
            }
        });

        botaoRelatorioBuscarFuncionario.setText("Buscar");
        botaoRelatorioBuscarFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoRelatorioBuscarFuncionarioActionPerformed(evt);
            }
        });

        tabelaRelatorioVendasFuncionario.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane10.setViewportView(tabelaRelatorioVendasFuncionario);

        botaoRelatorioGerarRelatorioFuncionario.setText("Gerar");
        botaoRelatorioGerarRelatorioFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botaoRelatorioGerarRelatorioFuncionarioActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout telaRelatorioVendasFuncionarioLayout = new javax.swing.GroupLayout(telaRelatorioVendasFuncionario);
        telaRelatorioVendasFuncionario.setLayout(telaRelatorioVendasFuncionarioLayout);
        telaRelatorioVendasFuncionarioLayout.setHorizontalGroup(
            telaRelatorioVendasFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 488, Short.MAX_VALUE)
            .addGroup(telaRelatorioVendasFuncionarioLayout.createSequentialGroup()
                .addGap(21, 21, 21)
                .addGroup(telaRelatorioVendasFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(telaRelatorioVendasFuncionarioLayout.createSequentialGroup()
                        .addGroup(telaRelatorioVendasFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jScrollPane10, javax.swing.GroupLayout.PREFERRED_SIZE, 452, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(telaRelatorioVendasFuncionarioLayout.createSequentialGroup()
                                .addComponent(botaoRelatorioGerarRelatorioFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 327, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addContainerGap())
                    .addGroup(telaRelatorioVendasFuncionarioLayout.createSequentialGroup()
                        .addGroup(telaRelatorioVendasFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 452, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(telaRelatorioVendasFuncionarioLayout.createSequentialGroup()
                                .addComponent(labelRelatorioVendasFuncionario)
                                .addGap(18, 18, 18)
                                .addComponent(campoRelatorioNomeFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 171, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(76, 76, 76)
                                .addComponent(botaoRelatorioBuscarFuncionario, javax.swing.GroupLayout.DEFAULT_SIZE, 99, Short.MAX_VALUE)))
                        .addContainerGap(14, Short.MAX_VALUE))))
        );
        telaRelatorioVendasFuncionarioLayout.setVerticalGroup(
            telaRelatorioVendasFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 250, Short.MAX_VALUE)
            .addGroup(telaRelatorioVendasFuncionarioLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(telaRelatorioVendasFuncionarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoRelatorioNomeFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelRelatorioVendasFuncionario)
                    .addComponent(botaoRelatorioBuscarFuncionario))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(botaoRelatorioGerarRelatorioFuncionario)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane10, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        javax.swing.GroupLayout painelPrincipalLayout = new javax.swing.GroupLayout(painelPrincipal);
        painelPrincipal.setLayout(painelPrincipalLayout);
        painelPrincipalLayout.setHorizontalGroup(
            painelPrincipalLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 445, Short.MAX_VALUE)
        );
        painelPrincipalLayout.setVerticalGroup(
            painelPrincipalLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 281, Short.MAX_VALUE)
        );

        cadastrarUsuarioSistema.setText("Cadastrar");
        cadastrarUsuarioSistema.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cadastrarUsuarioSistemaActionPerformed(evt);
            }
        });

        preCadastrarCliente.setText("Cliente");
        preCadastrarCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                preCadastrarClienteActionPerformed(evt);
            }
        });
        cadastrarUsuarioSistema.add(preCadastrarCliente);

        preCadastrarProduto.setText("Produto");
        preCadastrarProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                preCadastrarProdutoActionPerformed(evt);
            }
        });
        cadastrarUsuarioSistema.add(preCadastrarProduto);

        preCadastrarFuncionario.setText("Funcionário");
        preCadastrarFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                preCadastrarFuncionarioActionPerformed(evt);
            }
        });
        cadastrarUsuarioSistema.add(preCadastrarFuncionario);

        MenusPrincipais.add(cadastrarUsuarioSistema);

        consultar.setText("Consultar");
        consultar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                consultarActionPerformed(evt);
            }
        });

        preConsultarCliente.setText("Cliente");
        preConsultarCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                preConsultarClienteActionPerformed(evt);
            }
        });
        consultar.add(preConsultarCliente);

        preConsultarProduto.setText("Produto");
        preConsultarProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                preConsultarProdutoActionPerformed(evt);
            }
        });
        consultar.add(preConsultarProduto);

        preConsultarFuncionario.setText("Funcionário");
        preConsultarFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                preConsultarFuncionarioActionPerformed(evt);
            }
        });
        consultar.add(preConsultarFuncionario);

        MenusPrincipais.add(consultar);

        alterar.setText("Alterar");

        preAlterarCliente.setText("Cliente");
        alterar.add(preAlterarCliente);

        MenusPrincipais.add(alterar);

        remover.setText("Remover");

        preRemoverCliente.setText("Cliente");
        remover.add(preRemoverCliente);

        MenusPrincipais.add(remover);

        movimentacao.setText("Movimentação");

        preMovimentacaoTicketVenda.setText("Ticket de Venda");
        preMovimentacaoTicketVenda.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                preMovimentacaoTicketVendaActionPerformed(evt);
            }
        });
        movimentacao.add(preMovimentacaoTicketVenda);

        preMovimentacaoTicketCompra.setText("Ticket de Compra");
        movimentacao.add(preMovimentacaoTicketCompra);

        MenusPrincipais.add(movimentacao);

        preRelatorioVendas.setText("Relatórios");

        preRelatoriosVendas.setText("Produtos Vendidos por Cliente");
        preRelatoriosVendas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                preRelatoriosVendasActionPerformed(evt);
            }
        });
        preRelatorioVendas.add(preRelatoriosVendas);

        preRelatoriosVendasFuncionario.setText("Produtos Vendidos por Funcionário");
        preRelatoriosVendasFuncionario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                preRelatoriosVendasFuncionarioActionPerformed(evt);
            }
        });
        preRelatorioVendas.add(preRelatoriosVendasFuncionario);

        MenusPrincipais.add(preRelatorioVendas);

        outros.setText("Outros");
        outros.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                outrosActionPerformed(evt);
            }
        });

        preSair.setText("Sair");
        preSair.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                preSairActionPerformed(evt);
            }
        });
        outros.add(preSair);

        MenusPrincipais.add(outros);

        setJMenuBar(MenusPrincipais);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 445, Short.MAX_VALUE)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(painelPrincipal, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 281, Short.MAX_VALUE)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(painelPrincipal, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void campoIdentidadeClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoIdentidadeClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoIdentidadeClienteActionPerformed

    private void campoCpfClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoCpfClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoCpfClienteActionPerformed

    private void campoCidadeClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoCidadeClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoCidadeClienteActionPerformed

    private void botaoCadastrarClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoCadastrarClienteActionPerformed

        Cliente cliente = new Cliente();
        cliente.setNome(campoNomeCliente.getText());
        cliente.setIdentidade(campoIdentidadeCliente.getText());
        cliente.setCpf(campoCpfCliente.getText());
        cliente.getEndereco().setCidade(campoCidadeCliente.getText());
        cliente.getEndereco().setEstado(campoEstadoCliente.getText());
        cliente.getEndereco().setLogradouro(campoLogradouroCliente.getText());
        cliente.getEndereco().setNumero(campoNumeroCliente.getText());
        cliente.getEndereco().setCep(campoCepCliente.getText());
        cliente.setEmail(campoEmailCliente.getText());
        cliente.setSaldo(0.0); //Cadastro inicial do funcionario com saldo zerado.
        cliente.setDataNascimento(new Date(campoDataNascimentoCliente.getText()));
        cliente.setTipoPessoa(Pessoa.CLIENTE);

        if(opcaoClienteMasculino.isSelected()) {
            cliente.setSexo('M');
        }
        if(opcaoClienteFeminino.isSelected()) {
            cliente.setSexo('F');
        }
        

        if(campoCreditoCliente != null && !campoCreditoCliente.getText().equals(""))
            cliente.setCredito(Double.parseDouble( campoCreditoCliente.getText() ) );

        cliente.setObservacao(campoObservacoesCliente.getText());

        Collection<String> erros = cliente.validator();
        if( !erros.isEmpty() ) {
            exibirErros(erros);
            return;
        }

        ProcessadorMovimentosBanco mov = new ProcessadorMovimentosBanco();
        mov.execute(cliente, ComandosParaExecutar.CADASTRAR_CLIENTE);


        campoNomeCliente.setText("");
        campoIdentidadeCliente.setText("");
        campoCpfCliente.setText("");
        campoCidadeCliente.setText("");
        campoCreditoCliente.setText("");
        campoObservacoesCliente.setText("");
        campoCidadeCliente.setText("");
        campoEstadoCliente.setText("");
        campoLogradouroCliente.setText("");
        campoNumeroCliente.setText("");
        campoCepCliente.setText("");
        campoEmailCliente.setText("");
        campoDataNascimentoCliente.setText("");


        JOptionPane.showMessageDialog(telaCadastrarCliente, "Cliente Cadastrado com Sucesso!");


    }//GEN-LAST:event_botaoCadastrarClienteActionPerformed

    private void botaoCancelarCadastroClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoCancelarCadastroClienteActionPerformed
        painelPrincipal.remove(telaCadastrarCliente);
        painelPrincipal.validate();
        painelPrincipal.repaint();
    }//GEN-LAST:event_botaoCancelarCadastroClienteActionPerformed

    private void preCadastrarClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_preCadastrarClienteActionPerformed
        painelPrincipal.removeAll();
        painelPrincipal.setLayout(new BorderLayout());
        painelPrincipal.add(telaCadastrarCliente,BorderLayout.CENTER);
        painelPrincipal.validate();
        painelPrincipal.repaint();
    }//GEN-LAST:event_preCadastrarClienteActionPerformed

    private void campoConsultarIdentidadeClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoConsultarIdentidadeClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoConsultarIdentidadeClienteActionPerformed

    private void campoConsultarCpfClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoConsultarCpfClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoConsultarCpfClienteActionPerformed

    private void campoConsultarCreditoClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoConsultarCreditoClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoConsultarCreditoClienteActionPerformed

    private void consultarClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_consultarClienteActionPerformed
        
        ClienteDao dao = new ClienteDao();

        if(!checkBoxNomeCliente.isSelected() && !checkBoxIdentidadeCliente.isSelected() && !checkBoxCpfCliente.isSelected() &&
           !checkBoxCreditoCliente.isSelected() && !checkBoxDataNascCliente.isSelected() ) {
            JOptionPane.showMessageDialog(telaConsultarCliente, "Selecione uma opção para que seja feita a busca!");
            return;
        }
        
        String nome = null;
        String identidade = null;
        String cpf = null;        
        Double credito = null;
        Date dataNascimento = null;

        if( checkBoxNomeCliente.isSelected() && !campoConsultarNomeCliente.getText().equals("") ) {
            nome = campoConsultarNomeCliente.getText();
        }

        if( checkBoxIdentidadeCliente.isSelected() && !campoConsultarIdentidadeCliente.getText().equals("") ) {
            identidade = campoConsultarIdentidadeCliente.getText();
        }

        if( checkBoxCpfCliente.isSelected() && !campoConsultarCpfCliente.getText().equals("")) {
            cpf = campoConsultarCpfCliente.getText();
        }
        
        if( checkBoxCreditoCliente.isSelected() && !campoConsultarCreditoCliente.getText().equals("")) {
            credito = Double.parseDouble(campoConsultarCreditoCliente.getText());
        }

        if( checkBoxDataNascCliente.isSelected() && !campoConsultarDataNascCliente.getText().equals("")) {
            dataNascimento = new Date(campoConsultarDataNascCliente.getText());
        }


        Collection<Cliente> clientes = dao.findClientes(null, nome, identidade, cpf, credito, null, dataNascimento);





        String[] colunas = { "Nome", "Identidade", "Cpf", "Crédito", "Observação" };
        String[][] dados = new String[clientes.size()][5];
        int i = -1;
        for(Cliente c : clientes) {
            i++;
            dados[i][0] = c.getNome();
            dados[i][1] = c.getIdentidade();
            dados[i][2] = c.getCpf();            
            dados[i][3] = c.getCredito().toString();
            dados[i][4] = c.getObservacao();
        }
        DefaultTableModel modelo = new DefaultTableModel(dados,colunas);
        tabelaConsultarCliente.setModel(modelo);
        tabelaConsultarCliente.getColumnModel().getColumn(0).setPreferredWidth(300);
        tabelaConsultarCliente.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        tabelaConsultarCliente.setRowSelectionAllowed(false);
        tabelaConsultarCliente.setColumnSelectionAllowed(true);
        tabelaConsultarCliente.getSelectedRow();
        tabelaConsultarCliente.setRowHeight(50);
    }//GEN-LAST:event_consultarClienteActionPerformed

    private void cancelarConsultaClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelarConsultaClienteActionPerformed
        painelPrincipal.remove(telaConsultarCliente);
        painelPrincipal.validate();
        painelPrincipal.repaint();
    }//GEN-LAST:event_cancelarConsultaClienteActionPerformed

    private void preConsultarClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_preConsultarClienteActionPerformed
        painelPrincipal.removeAll();
        painelPrincipal.setLayout(new BorderLayout());
        painelPrincipal.add(telaConsultarCliente,BorderLayout.CENTER);
        painelPrincipal.validate();
        painelPrincipal.repaint();        
    }//GEN-LAST:event_preConsultarClienteActionPerformed

    private void campoConsultarNomeClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoConsultarNomeClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoConsultarNomeClienteActionPerformed

    private void campoEstadoClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoEstadoClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoEstadoClienteActionPerformed

    private void campoLogradouroClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoLogradouroClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoLogradouroClienteActionPerformed

    private void campoNumeroClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoNumeroClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoNumeroClienteActionPerformed

    private void campoCepClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoCepClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoCepClienteActionPerformed

    private void campoEmailClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoEmailClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoEmailClienteActionPerformed

    private void preSairActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_preSairActionPerformed
        System.exit(0);
    }//GEN-LAST:event_preSairActionPerformed

    private void checkBoxIdentidadeClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxIdentidadeClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_checkBoxIdentidadeClienteActionPerformed

    private void checkBoxCreditoClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxCreditoClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_checkBoxCreditoClienteActionPerformed

    private void checkBoxCpfClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxCpfClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_checkBoxCpfClienteActionPerformed

    private void checkBoxNomeClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxNomeClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_checkBoxNomeClienteActionPerformed

    private void campoCreditoClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoCreditoClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoCreditoClienteActionPerformed

    private void campoNomeClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoNomeClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoNomeClienteActionPerformed

    private void cadastrarUsuarioSistemaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cadastrarUsuarioSistemaActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_cadastrarUsuarioSistemaActionPerformed

    private void frameTelaLoginWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_frameTelaLoginWindowClosed
        System.exit(0);
    }//GEN-LAST:event_frameTelaLoginWindowClosed

    private void outrosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_outrosActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_outrosActionPerformed

    private void botaoLogarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoLogarActionPerformed
        
        FuncionarioDao dao = new FuncionarioDao();

        String usuario = campoAutenticacaoLoginFuncionario.getText();
        String senha = campoAutenticacaoSenhaFuncionario.getText();



        funcionarioLogado = dao.findUsuario(usuario, senha);
        Collection<Funcionario> todosUsuarios = new ArrayList<Funcionario>();

        todosUsuarios = dao.findAll();

        if( !todosUsuarios.isEmpty() ) {
            if(funcionarioLogado == null) {
                JOptionPane.showMessageDialog(telaAutenticacao, "Usuário e/ou senha não encontrado.");
                System.exit(0);
            }
        }
        
        this.setVisible(true);
        frameTelaLogin.setVisible(false);
    }//GEN-LAST:event_botaoLogarActionPerformed

    private void campoPrecoVendaProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoPrecoVendaProdutoActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_campoPrecoVendaProdutoActionPerformed

    private void campoNomeProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoNomeProdutoActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_campoNomeProdutoActionPerformed

    private void campoPrecoCompraProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoPrecoCompraProdutoActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_campoPrecoCompraProdutoActionPerformed

    private void campoDescricaoProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoDescricaoProdutoActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_campoDescricaoProdutoActionPerformed

    private void campoEstoqueProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoEstoqueProdutoActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_campoEstoqueProdutoActionPerformed

    private void campoCodigoBarrasProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoCodigoBarrasProdutoActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_campoCodigoBarrasProdutoActionPerformed

    private void botaoCadastrarProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoCadastrarProdutoActionPerformed

        Produto produto = new Produto();
        produto.setNome(campoNomeProduto.getText());
        produto.setDescricao(campoDescricaoProduto.getText());
        produto.setPrecoCompra(Double.parseDouble(campoPrecoCompraProduto.getText()));
        produto.setPrecoVenda(Double.parseDouble(campoPrecoVendaProduto.getText()));
        produto.setEstoque(Integer.parseInt(campoEstoqueProduto.getText()));
        produto.setCodigoBarras(Integer.parseInt(campoCodigoBarrasProduto.getText()));        

        /*
        Collection<String> erros = produto.validator();
        if( !erros.isEmpty() ) {
            exibirErros(erros);
            return;
        }
        */
         
        ProcessadorMovimentosBanco mov = new ProcessadorMovimentosBanco();
        mov.execute(produto, ComandosParaExecutar.CADASTRAR_PRODUTO);


        campoNomeProduto.setText("");
        campoDescricaoProduto.setText("");
        campoEstoqueProduto.setText("");
        campoPrecoCompraProduto.setText("");
        campoPrecoVendaProduto.setText("");        
        campoCodigoBarrasProduto.setText("");
        


        JOptionPane.showMessageDialog(telaCadastrarProduto, "Produto Cadastrado com Sucesso!");
    }//GEN-LAST:event_botaoCadastrarProdutoActionPerformed

    private void botaoCancelarCadastroProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoCancelarCadastroProdutoActionPerformed
        painelPrincipal.remove(telaCadastrarProduto);
        painelPrincipal.validate();
        painelPrincipal.repaint();
    }//GEN-LAST:event_botaoCancelarCadastroProdutoActionPerformed

    private void preCadastrarProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_preCadastrarProdutoActionPerformed
        painelPrincipal.removeAll();
        painelPrincipal.setLayout(new BorderLayout());
        painelPrincipal.add(telaCadastrarProduto,BorderLayout.CENTER);
        painelPrincipal.validate();
        painelPrincipal.repaint();
    }//GEN-LAST:event_preCadastrarProdutoActionPerformed

    private void campoDataNascimentoClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoDataNascimentoClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoDataNascimentoClienteActionPerformed

    private void campoLogradouroFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoLogradouroFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoLogradouroFuncionarioActionPerformed

    private void campoEstadoFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoEstadoFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoEstadoFuncionarioActionPerformed

    private void botaoCancelarCadastroFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoCancelarCadastroFuncionarioActionPerformed
        painelPrincipal.remove(telaCadastrarFuncionario);
        painelPrincipal.validate();
        painelPrincipal.repaint();
    }//GEN-LAST:event_botaoCancelarCadastroFuncionarioActionPerformed

    private void botaoCadastrarFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoCadastrarFuncionarioActionPerformed
        
        
        Funcionario funcionario = new Funcionario();
        funcionario.setNome(campoNomeFuncionario.getText());
        funcionario.setIdentidade(campoIdentidadeFuncionario.getText());
        funcionario.setCpf(campoCpfFuncionario.getText());
        funcionario.getEndereco().setCidade(campoCidadeFuncionario.getText());
        funcionario.getEndereco().setEstado(campoEstadoFuncionario.getText());
        funcionario.getEndereco().setLogradouro(campoLogradouroFuncionario.getText());
        funcionario.getEndereco().setNumero(campoNumeroFuncionario.getText());
        funcionario.getEndereco().setCep(campoCepFuncionario.getText());
        funcionario.setEmail(campoEmailFuncionario.getText());
        funcionario.setDataNascimento(new Date(campoDataNascimentoFuncionario.getText()));
        funcionario.setTipoPessoa(Pessoa.FUNCIONARIO);
        funcionario.setLogin(campoLoginFuncionario.getText());
        funcionario.setSenha(campoSenhaFuncionario.getText());
        funcionario.setDataPagamento(new Date(campoDataPagFuncionario.getText()));
        funcionario.setSalario(Double.parseDouble(campoSalarioFuncionario.getText()));

        if(opcaoFuncionarioMasculino.isSelected()) {
            funcionario.setSexo('M');
        }
        if(opcaoFuncionarioFeminino.isSelected()) {
            funcionario.setSexo('F');
        }
        if(opcaoFuncionarioGerente.isSelected()) {
            funcionario.setPapel(Funcionario.PAPEL_GERENTE);
        }
        if(opcaoFuncionarioNormal.isSelected()) {
            funcionario.setPapel(Funcionario.PAPEL_FUNCIONARIO);
        }

        
        
        Collection<String> erros = funcionario.validator();
        if( !erros.isEmpty() ) {
            exibirErros(erros);
            return;
        }
        

        ProcessadorMovimentosBanco mov = new ProcessadorMovimentosBanco();
        mov.execute(funcionario, ComandosParaExecutar.CADASTRAR_FUNCIONARIO);


        campoNomeFuncionario.setText("");
        campoIdentidadeFuncionario.setText("");
        campoCpfFuncionario.setText("");
        campoCidadeFuncionario.setText("");
        campoCidadeFuncionario.setText("");
        campoEstadoFuncionario.setText("");
        campoLogradouroFuncionario.setText("");
        campoNumeroFuncionario.setText("");
        campoCepFuncionario.setText("");
        campoEmailFuncionario.setText("");
        campoDataNascimentoFuncionario.setText("");
        campoSalarioFuncionario.setText("");
        campoDataPagFuncionario.setText("");
        campoLoginFuncionario.setText("");
        campoSenhaFuncionario.setText("");



        JOptionPane.showMessageDialog(telaCadastrarFuncionario, "Funcionário Cadastrado com Sucesso!");
    }//GEN-LAST:event_botaoCadastrarFuncionarioActionPerformed

    private void campoNumeroFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoNumeroFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoNumeroFuncionarioActionPerformed

    private void campoCepFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoCepFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoCepFuncionarioActionPerformed

    private void campoEmailFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoEmailFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoEmailFuncionarioActionPerformed

    private void campoNomeFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoNomeFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoNomeFuncionarioActionPerformed

    private void campoCpfFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoCpfFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoCpfFuncionarioActionPerformed

    private void campoDataNascimentoFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoDataNascimentoFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoDataNascimentoFuncionarioActionPerformed

    private void campoIdentidadeFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoIdentidadeFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoIdentidadeFuncionarioActionPerformed

    private void campoCidadeFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoCidadeFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoCidadeFuncionarioActionPerformed

    private void campoSalarioFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoSalarioFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoSalarioFuncionarioActionPerformed

    private void preCadastrarFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_preCadastrarFuncionarioActionPerformed
        painelPrincipal.removeAll();
        painelPrincipal.setLayout(new BorderLayout());
        painelPrincipal.add(telaCadastrarFuncionario,BorderLayout.CENTER);
        painelPrincipal.validate();
        painelPrincipal.repaint();        // TODO add your handling code here:
    }//GEN-LAST:event_preCadastrarFuncionarioActionPerformed

    private void campoDataPagFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoDataPagFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoDataPagFuncionarioActionPerformed

    private void campoLoginFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoLoginFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoLoginFuncionarioActionPerformed

    private void campoSenhaFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoSenhaFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoSenhaFuncionarioActionPerformed

    private void checkBoxDataNascClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxDataNascClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_checkBoxDataNascClienteActionPerformed

    private void campoConsultarDataNascClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoConsultarDataNascClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoConsultarDataNascClienteActionPerformed

    private void preConsultarProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_preConsultarProdutoActionPerformed
        painelPrincipal.removeAll();
        painelPrincipal.setLayout(new BorderLayout());
        painelPrincipal.add(telaConsultarProduto,BorderLayout.CENTER);
        painelPrincipal.validate();
        painelPrincipal.repaint();
    }//GEN-LAST:event_preConsultarProdutoActionPerformed

    private void checkBoxEstoqueProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxEstoqueProdutoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_checkBoxEstoqueProdutoActionPerformed

    private void checkBoxCodBarrasProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxCodBarrasProdutoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_checkBoxCodBarrasProdutoActionPerformed

    private void campoConsultarEstoqueProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoConsultarEstoqueProdutoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoConsultarEstoqueProdutoActionPerformed

    private void campoConsultarCodBarrasProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoConsultarCodBarrasProdutoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoConsultarCodBarrasProdutoActionPerformed

    private void checkBoxNomeProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxNomeProdutoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_checkBoxNomeProdutoActionPerformed

    private void campoConsultarNomeProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoConsultarNomeProdutoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoConsultarNomeProdutoActionPerformed

    private void botaoCancelarConsultarProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoCancelarConsultarProdutoActionPerformed
        painelPrincipal.remove(telaConsultarProduto);
        painelPrincipal.validate();
        painelPrincipal.repaint();
    }//GEN-LAST:event_botaoCancelarConsultarProdutoActionPerformed

    private void botaoConsultarProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoConsultarProdutoActionPerformed
        ProdutoDao dao = new ProdutoDao();

        if(!checkBoxNomeProduto.isSelected() && !checkBoxEstoqueProduto.isSelected() && !checkBoxCodBarrasProduto.isSelected()) {
            JOptionPane.showMessageDialog(telaConsultarProduto, "Selecione uma opção para que seja feita a busca!");
            return;
        }

        String nome = null;
        Integer estoque = null;
        Integer codBarras = null;
        

        if( checkBoxNomeProduto.isSelected() && !campoConsultarNomeProduto.getText().equals("") ) {
            nome = campoConsultarNomeProduto.getText();
        }

        if( checkBoxEstoqueProduto.isSelected() && !campoConsultarEstoqueProduto.getText().equals("") ) {
            estoque = Integer.parseInt(campoConsultarEstoqueProduto.getText());
        }

        if( checkBoxCodBarrasProduto.isSelected() && !campoConsultarCodBarrasProduto.getText().equals("")) {
            codBarras = Integer.parseInt(campoConsultarCodBarrasProduto.getText());
        }       


        Collection<Produto> produtos = dao.findProdutos(null, nome, estoque, codBarras);




        String[] colunas = { "Nome", "Descricao", "Preço de Compra", "Preço de Venda", "Estoque","Cod Barras" };
        String[][] dados = new String[produtos.size()][6];
        int i = -1;
        for(Produto p : produtos) {
            i++;
            dados[i][0] = p.getNome();
            dados[i][1] = p.getDescricao();
            dados[i][2] = p.getPrecoCompra().toString();
            dados[i][3] = p.getPrecoVenda().toString();
            dados[i][4] = p.getEstoque().toString();
            dados[i][5] = p.getCodigoBarras().toString();
        }
        DefaultTableModel modelo = new DefaultTableModel(dados,colunas);
        tabelaConsultarProduto.setModel(modelo);
        tabelaConsultarProduto.getColumnModel().getColumn(0).setPreferredWidth(300);
        tabelaConsultarProduto.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        tabelaConsultarProduto.setRowSelectionAllowed(false);
        tabelaConsultarProduto.setColumnSelectionAllowed(true);
        tabelaConsultarProduto.getSelectedRow();
        tabelaConsultarProduto.setRowHeight(50);
    }//GEN-LAST:event_botaoConsultarProdutoActionPerformed

    private void checkBoxDataNascFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxDataNascFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_checkBoxDataNascFuncionarioActionPerformed

    private void checkBoxIdentidadeFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxIdentidadeFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_checkBoxIdentidadeFuncionarioActionPerformed

    private void checkBoxCpfFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxCpfFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_checkBoxCpfFuncionarioActionPerformed

    private void campoConsultarIdentidadeFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoConsultarIdentidadeFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoConsultarIdentidadeFuncionarioActionPerformed

    private void campoConsultarCpfFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoConsultarCpfFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoConsultarCpfFuncionarioActionPerformed

    private void botaoCancelarConsultaFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoCancelarConsultaFuncionarioActionPerformed
        painelPrincipal.remove(telaConsultarFuncionario);
        painelPrincipal.validate();
        painelPrincipal.repaint();
    }//GEN-LAST:event_botaoCancelarConsultaFuncionarioActionPerformed

    private void botaoConsultarFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoConsultarFuncionarioActionPerformed
        FuncionarioDao dao = new FuncionarioDao();

        if(!checkBoxNomeFuncionario.isSelected() && !checkBoxIdentidadeFuncionario.isSelected() && !checkBoxCpfFuncionario.isSelected() &&
           !checkBoxDataNascFuncionario.isSelected() ) {
            JOptionPane.showMessageDialog(telaConsultarFuncionario, "Selecione uma opção para que seja feita a busca!");
            return;
        }

        String nome = null;
        String identidade = null;
        String cpf = null;        
        Date dataNascimento = null;

        if( checkBoxNomeFuncionario.isSelected() && !campoConsultarNomeFuncionario.getText().equals("") ) {
            nome = campoConsultarNomeFuncionario.getText();
        }

        if( checkBoxIdentidadeFuncionario.isSelected() && !campoConsultarIdentidadeFuncionario.getText().equals("") ) {
            identidade = campoConsultarIdentidadeFuncionario.getText();
        }

        if( checkBoxCpfFuncionario.isSelected() && !campoConsultarCpfFuncionario.getText().equals("")) {
            cpf = campoConsultarCpfFuncionario.getText();
        }
        
        if( checkBoxDataNascFuncionario.isSelected() && !campoConsultarDataNascFuncionario.getText().equals("")) {
            dataNascimento = new Date(campoConsultarDataNascFuncionario.getText());
        }


        Collection<Funcionario> funcionarios = dao.findFuncionarios(null, nome, identidade, cpf, dataNascimento);

        String[] colunas = { "Nome", "Identidade", "Cpf", "Observação" };
        String[][] dados = new String[funcionarios.size()][3];
        int i = -1;
        for(Funcionario c : funcionarios) {
            i++;
            dados[i][0] = c.getNome();
            dados[i][1] = c.getIdentidade();
            dados[i][2] = c.getCpf();            
        }
        DefaultTableModel modelo = new DefaultTableModel(dados,colunas);
        tabelaConsultarFuncionario.setModel(modelo);
        tabelaConsultarFuncionario.getColumnModel().getColumn(0).setPreferredWidth(300);
        tabelaConsultarFuncionario.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        tabelaConsultarFuncionario.setRowSelectionAllowed(false);
        tabelaConsultarFuncionario.setColumnSelectionAllowed(true);
        tabelaConsultarFuncionario.getSelectedRow();
        tabelaConsultarFuncionario.setRowHeight(50);
    }//GEN-LAST:event_botaoConsultarFuncionarioActionPerformed

    private void checkBoxNomeFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkBoxNomeFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_checkBoxNomeFuncionarioActionPerformed

    private void campoConsultarNomeFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoConsultarNomeFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoConsultarNomeFuncionarioActionPerformed

    private void campoConsultarDataNascFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoConsultarDataNascFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoConsultarDataNascFuncionarioActionPerformed

    private void consultarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_consultarActionPerformed
        painelPrincipal.removeAll();
        painelPrincipal.setLayout(new BorderLayout());
        painelPrincipal.add(telaConsultarFuncionario,BorderLayout.CENTER);
        painelPrincipal.validate();
        painelPrincipal.repaint();
    }//GEN-LAST:event_consultarActionPerformed

    private void preConsultarFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_preConsultarFuncionarioActionPerformed
        painelPrincipal.removeAll();
        painelPrincipal.setLayout(new BorderLayout());
        painelPrincipal.add(telaConsultarFuncionario,BorderLayout.CENTER);
        painelPrincipal.validate();
        painelPrincipal.repaint();
    }//GEN-LAST:event_preConsultarFuncionarioActionPerformed

    private void campoTicketNomeClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoTicketNomeClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoTicketNomeClienteActionPerformed

    private void campoTicketNomeProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoTicketNomeProdutoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoTicketNomeProdutoActionPerformed

    private void botaoTicketBuscarClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoTicketBuscarClienteActionPerformed
        
        ClienteDao dao = new ClienteDao();

        String nome = null;
        nome = campoTicketNomeCliente.getText();

        clientes = dao.findClientes(null, nome, null, null, null, null, null);

        String[] colunas = { "Nome", "Identidade", "Cpf", "Crédito", "Observação" };
        String[][] dados = new String[clientes.size()][5];
        int i = -1;
        for(Cliente c : clientes) {
            i++;
            dados[i][0] = c.getNome();
            dados[i][1] = c.getIdentidade();
            dados[i][2] = c.getCpf();
            dados[i][3] = c.getCredito().toString();
            dados[i][4] = c.getObservacao();
        }
        DefaultTableModel modelo = new DefaultTableModel(dados,colunas);
        tabelaTicketNome.setModel(modelo);
        //tabelaTicketNome.getColumnModel().getColumn(0).setPreferredWidth(300);
        tabelaTicketNome.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        tabelaTicketNome.setRowSelectionAllowed(false);
        tabelaTicketNome.setColumnSelectionAllowed(true);
        tabelaTicketNome.getSelectedRow();
        tabelaTicketNome.setRowHeight(50);
    }//GEN-LAST:event_botaoTicketBuscarClienteActionPerformed

    private void preMovimentacaoTicketVendaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_preMovimentacaoTicketVendaActionPerformed
        painelPrincipal.removeAll();
        painelPrincipal.setLayout(new BorderLayout());
        painelPrincipal.add(telaTicketVenda,BorderLayout.CENTER);
        painelPrincipal.validate();
        painelPrincipal.repaint();
    }//GEN-LAST:event_preMovimentacaoTicketVendaActionPerformed

    private void botaoTicketBuscarProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoTicketBuscarProdutoActionPerformed

        ProdutoDao dao = new ProdutoDao();

        String nome = null;
        nome = campoTicketNomeProduto.getText();
        produtos = dao.findProdutos(null, nome, null, null);




        String[] colunas = { "Nome", "Descricao", "Preço de Compra", "Preço de Venda", "Estoque","Cod Barras" };
        String[][] dados = new String[produtos.size()][6];
        int i = -1;
        for(Produto p : produtos) {
            i++;
            dados[i][0] = p.getNome();
            dados[i][1] = p.getDescricao();
            dados[i][2] = p.getPrecoCompra().toString();
            dados[i][3] = p.getPrecoVenda().toString();
            dados[i][4] = p.getEstoque().toString();
            dados[i][5] = p.getCodigoBarras().toString();
        }
        DefaultTableModel modelo = new DefaultTableModel(dados,colunas);
        tabelaTicketProduto.setModel(modelo);
        //tabelaTicketProduto.getColumnModel().getColumn(0).setPreferredWidth(300);
        tabelaTicketProduto.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        tabelaTicketProduto.setRowSelectionAllowed(false);
        tabelaTicketProduto.setColumnSelectionAllowed(true);
        tabelaTicketProduto.getSelectedRow();
        tabelaTicketProduto.setRowHeight(50);
    }//GEN-LAST:event_botaoTicketBuscarProdutoActionPerformed

    private void botaoTicketFinalizarCompraActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoTicketFinalizarCompraActionPerformed

        ArrayList<Cliente> vetorClientes = (ArrayList<Cliente>) clientes;
        Cliente cliente = vetorClientes.get(tabelaTicketNome.getSelectedRow());

        ProcessadorMovimentosBanco mov = new ProcessadorMovimentosBanco();
        mov.efetuarCompra(cliente, funcionarioLogado, produtosAdicionados);
        

    }//GEN-LAST:event_botaoTicketFinalizarCompraActionPerformed

    private void botaoTicketAdicionarCompraActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoTicketAdicionarCompraActionPerformed

        produtosAdicionados.addAll(produtos);
    }//GEN-LAST:event_botaoTicketAdicionarCompraActionPerformed

    private void botaoRelatorioBuscarClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoRelatorioBuscarClienteActionPerformed
        ClienteDao dao = new ClienteDao();

        String nome = null;
        nome = campoRelatorioNomeCliente.getText();

        clientes = dao.findClientes(null, nome, null, null, null, null, null);

        String[] colunas = { "Nome", "Identidade", "Cpf", "Crédito", "Observação" };
        String[][] dados = new String[clientes.size()][5];
        int i = -1;
        for(Cliente c : clientes) {
            i++;
            dados[i][0] = c.getNome();
            dados[i][1] = c.getIdentidade();
            dados[i][2] = c.getCpf();
            dados[i][3] = c.getCredito().toString();
            dados[i][4] = c.getObservacao();
        }
        DefaultTableModel modelo = new DefaultTableModel(dados,colunas);
        tabelaRelatorioNome.setModel(modelo);
        //tabelaTicketNome.getColumnModel().getColumn(0).setPreferredWidth(300);
        tabelaRelatorioNome.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        tabelaRelatorioNome.setRowSelectionAllowed(false);
        tabelaRelatorioNome.setColumnSelectionAllowed(true);
        tabelaRelatorioNome.getSelectedRow();
        tabelaRelatorioNome.setRowHeight(50);
    }//GEN-LAST:event_botaoRelatorioBuscarClienteActionPerformed

    private void campoRelatorioNomeClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoRelatorioNomeClienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoRelatorioNomeClienteActionPerformed

    private void preRelatoriosVendasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_preRelatoriosVendasActionPerformed
        painelPrincipal.removeAll();
        painelPrincipal.setLayout(new BorderLayout());
        painelPrincipal.add(telaRelatorioVendasCliente,BorderLayout.CENTER);
        painelPrincipal.validate();
        painelPrincipal.repaint();
    }//GEN-LAST:event_preRelatoriosVendasActionPerformed

    private void botaoRelatorioGerarRelatorioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoRelatorioGerarRelatorioActionPerformed
        ArrayList<Cliente> vetorClientes = (ArrayList<Cliente>) clientes;
        Cliente cliente = vetorClientes.get(tabelaRelatorioNome.getSelectedRow());

        ProdutoDao dao = new ProdutoDao();
        Collection<Produto> produtos = dao.findByCliente(cliente.getId());

        String[] colunas = { "Nome", "Descricao", "Preço de Compra", "Preço de Venda", "Estoque","Cod Barras" };
        String[][] dados = new String[produtos.size()][6];
        int i = -1;
        for(Produto p : produtos) {
            i++;
            dados[i][0] = p.getNome();
            dados[i][1] = p.getDescricao();
            dados[i][2] = p.getPrecoCompra().toString();
            dados[i][3] = p.getPrecoVenda().toString();
            dados[i][4] = p.getEstoque().toString();
            dados[i][5] = p.getCodigoBarras().toString();
        }
        DefaultTableModel modelo = new DefaultTableModel(dados,colunas);
        tabelaRelatorioVendasCliente.setModel(modelo);
        tabelaRelatorioVendasCliente.getColumnModel().getColumn(0).setPreferredWidth(300);
        tabelaRelatorioVendasCliente.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        tabelaRelatorioVendasCliente.setRowSelectionAllowed(false);
        tabelaRelatorioVendasCliente.setColumnSelectionAllowed(true);
        tabelaRelatorioVendasCliente.getSelectedRow();
        tabelaRelatorioVendasCliente.setRowHeight(50);
    }//GEN-LAST:event_botaoRelatorioGerarRelatorioActionPerformed

    private void campoRelatorioNomeFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_campoRelatorioNomeFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_campoRelatorioNomeFuncionarioActionPerformed

    private void botaoRelatorioBuscarFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoRelatorioBuscarFuncionarioActionPerformed
        FuncionarioDao dao = new FuncionarioDao();

        String nome = null;
        nome = campoRelatorioNomeFuncionario.getText();

        funcionarios = dao.findFuncionarios(null, nome, null, null, null);

        String[] colunas = { "Nome", "Identidade", "Cpf", "Salário", "Login" };
        String[][] dados = new String[clientes.size()][5];
        int i = -1;
        for(Funcionario f : funcionarios) {
            i++;
            dados[i][0] = f.getNome();
            dados[i][1] = f.getIdentidade();
            dados[i][2] = f.getCpf();
            dados[i][3] = f.getSalario().toString();
            dados[i][4] = f.getLogin();
        }
        DefaultTableModel modelo = new DefaultTableModel(dados,colunas);
        tabelaRelatorioFuncionario.setModel(modelo);
        //tabelaRelatorioFuncionario.getColumnModel().getColumn(0).setPreferredWidth(300);
        tabelaRelatorioFuncionario.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        tabelaRelatorioFuncionario.setRowSelectionAllowed(false);
        tabelaRelatorioFuncionario.setColumnSelectionAllowed(true);
        tabelaRelatorioFuncionario.getSelectedRow();
        tabelaRelatorioFuncionario.setRowHeight(50);        // TODO add your handling code here:
    }//GEN-LAST:event_botaoRelatorioBuscarFuncionarioActionPerformed

    private void botaoRelatorioGerarRelatorioFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoRelatorioGerarRelatorioFuncionarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_botaoRelatorioGerarRelatorioFuncionarioActionPerformed

    private void preRelatoriosVendasFuncionarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_preRelatoriosVendasFuncionarioActionPerformed
        painelPrincipal.removeAll();
        painelPrincipal.setLayout(new BorderLayout());
        painelPrincipal.add(telaRelatorioVendasFuncionario,BorderLayout.CENTER);
        painelPrincipal.validate();
        painelPrincipal.repaint();        // TODO add your handling code here:
    }//GEN-LAST:event_preRelatoriosVendasFuncionarioActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Principal();
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenuBar MenusPrincipais;
    private javax.swing.JMenu alterar;
    private javax.swing.JButton botaoCadastrarCliente;
    private javax.swing.JButton botaoCadastrarFuncionario;
    private javax.swing.JButton botaoCadastrarProduto;
    private javax.swing.JButton botaoCancelarCadastroCliente;
    private javax.swing.JButton botaoCancelarCadastroFuncionario;
    private javax.swing.JButton botaoCancelarCadastroProduto;
    private javax.swing.JButton botaoCancelarConsultaFuncionario;
    private javax.swing.JButton botaoCancelarConsultarProduto;
    private javax.swing.JButton botaoConsultarFuncionario;
    private javax.swing.JButton botaoConsultarProduto;
    private javax.swing.JButton botaoLogar;
    private javax.swing.JButton botaoRelatorioBuscarCliente;
    private javax.swing.JButton botaoRelatorioBuscarFuncionario;
    private javax.swing.JButton botaoRelatorioGerarRelatorio;
    private javax.swing.JButton botaoRelatorioGerarRelatorioFuncionario;
    private javax.swing.JButton botaoTicketAdicionarCompra;
    private javax.swing.JButton botaoTicketBuscarCliente;
    private javax.swing.JButton botaoTicketBuscarProduto;
    private javax.swing.JButton botaoTicketFinalizarCompra;
    private javax.swing.ButtonGroup buttonGroupPapel;
    private javax.swing.ButtonGroup buttonGroupSexo;
    private javax.swing.JMenu cadastrarUsuarioSistema;
    private javax.swing.JTextField campoAutenticacaoLoginFuncionario;
    private javax.swing.JPasswordField campoAutenticacaoSenhaFuncionario;
    private javax.swing.JTextField campoCepCliente;
    private javax.swing.JTextField campoCepFuncionario;
    private javax.swing.JTextField campoCidadeCliente;
    private javax.swing.JTextField campoCidadeFuncionario;
    private javax.swing.JTextField campoCodigoBarrasProduto;
    private javax.swing.JTextField campoConsultarCodBarrasProduto;
    private javax.swing.JTextField campoConsultarCpfCliente;
    private javax.swing.JTextField campoConsultarCpfFuncionario;
    private javax.swing.JTextField campoConsultarCreditoCliente;
    private javax.swing.JTextField campoConsultarDataNascCliente;
    private javax.swing.JTextField campoConsultarDataNascFuncionario;
    private javax.swing.JTextField campoConsultarEstoqueProduto;
    private javax.swing.JTextField campoConsultarIdentidadeCliente;
    private javax.swing.JTextField campoConsultarIdentidadeFuncionario;
    private javax.swing.JTextField campoConsultarNomeCliente;
    private javax.swing.JTextField campoConsultarNomeFuncionario;
    private javax.swing.JTextField campoConsultarNomeProduto;
    private javax.swing.JTextField campoCpfCliente;
    private javax.swing.JTextField campoCpfFuncionario;
    private javax.swing.JTextField campoCreditoCliente;
    private javax.swing.JTextField campoDataNascimentoCliente;
    private javax.swing.JTextField campoDataNascimentoFuncionario;
    private javax.swing.JTextField campoDataPagFuncionario;
    private javax.swing.JTextField campoDescricaoProduto;
    private javax.swing.JTextField campoEmailCliente;
    private javax.swing.JTextField campoEmailFuncionario;
    private javax.swing.JTextField campoEstadoCliente;
    private javax.swing.JTextField campoEstadoFuncionario;
    private javax.swing.JTextField campoEstoqueProduto;
    private javax.swing.JTextField campoIdentidadeCliente;
    private javax.swing.JTextField campoIdentidadeFuncionario;
    private javax.swing.JTextField campoLoginFuncionario;
    private javax.swing.JTextField campoLogradouroCliente;
    private javax.swing.JTextField campoLogradouroFuncionario;
    private javax.swing.JTextField campoNomeCliente;
    private javax.swing.JTextField campoNomeFuncionario;
    private javax.swing.JTextField campoNomeProduto;
    private javax.swing.JTextField campoNumeroCliente;
    private javax.swing.JTextField campoNumeroFuncionario;
    private javax.swing.JTextArea campoObservacoesCliente;
    private javax.swing.JTextField campoPrecoCompraProduto;
    private javax.swing.JTextField campoPrecoVendaProduto;
    private javax.swing.JTextField campoRelatorioNomeCliente;
    private javax.swing.JTextField campoRelatorioNomeFuncionario;
    private javax.swing.JTextField campoSalarioFuncionario;
    private javax.swing.JTextField campoSenhaFuncionario;
    private javax.swing.JTextField campoTicketNomeCliente;
    private javax.swing.JTextField campoTicketNomeProduto;
    private javax.swing.JButton cancelarConsultaCliente;
    private javax.swing.JCheckBox checkBoxCodBarrasProduto;
    private javax.swing.JCheckBox checkBoxCpfCliente;
    private javax.swing.JCheckBox checkBoxCpfFuncionario;
    private javax.swing.JCheckBox checkBoxCreditoCliente;
    private javax.swing.JCheckBox checkBoxDataNascCliente;
    private javax.swing.JCheckBox checkBoxDataNascFuncionario;
    private javax.swing.JCheckBox checkBoxEstoqueProduto;
    private javax.swing.JCheckBox checkBoxIdentidadeCliente;
    private javax.swing.JCheckBox checkBoxIdentidadeFuncionario;
    private javax.swing.JCheckBox checkBoxNomeCliente;
    private javax.swing.JCheckBox checkBoxNomeFuncionario;
    private javax.swing.JCheckBox checkBoxNomeProduto;
    private javax.swing.JMenu consultar;
    private javax.swing.JButton consultarCliente;
    private javax.swing.JFrame frameTelaLogin;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane10;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JScrollPane jScrollPane6;
    private javax.swing.JScrollPane jScrollPane7;
    private javax.swing.JScrollPane jScrollPane8;
    private javax.swing.JScrollPane jScrollPane9;
    private javax.swing.JLabel labelAutenticacao;
    private javax.swing.JLabel labelAutenticacaoSenha;
    private javax.swing.JLabel labelAutenticacaoUsuario;
    private javax.swing.JLabel labelCadastroCodigoBarrasProduto;
    private javax.swing.JLabel labelCadastroDescricaoProduto;
    private javax.swing.JLabel labelCadastroEstoqueProduto;
    private javax.swing.JLabel labelCadastroNomeProduto;
    private javax.swing.JLabel labelCadastroPrecoCompraProduto;
    private javax.swing.JLabel labelCadastroPrecoVendaProduto;
    private javax.swing.JLabel labelCepCliente;
    private javax.swing.JLabel labelCepFuncionario;
    private javax.swing.JLabel labelCidadeCliente;
    private javax.swing.JLabel labelCidadeFuncionario;
    private javax.swing.JLabel labelCpfCliente;
    private javax.swing.JLabel labelCpfFuncionario;
    private javax.swing.JLabel labelCreditoCliente;
    private javax.swing.JLabel labelDataNascimentoCliente;
    private javax.swing.JLabel labelDataNascimentoFuncionario;
    private javax.swing.JLabel labelDataPagFuncionario;
    private javax.swing.JLabel labelEmailCliente;
    private javax.swing.JLabel labelEmailFuncionario;
    private javax.swing.JLabel labelEstadoCliente;
    private javax.swing.JLabel labelEstadoFuncionario;
    private javax.swing.JLabel labelIdentidadeCliente;
    private javax.swing.JLabel labelIdentidadeFuncionario;
    private javax.swing.JLabel labelLoginFuncionario;
    private javax.swing.JLabel labelLoginFuncionario1;
    private javax.swing.JLabel labelLogradouroCliente;
    private javax.swing.JLabel labelLogradouroFuncionario;
    private javax.swing.JLabel labelNomeCliente1;
    private javax.swing.JLabel labelNomeCliente2;
    private javax.swing.JLabel labelNomeFuncionario;
    private javax.swing.JLabel labelNumeroCliente;
    private javax.swing.JLabel labelNumeroFuncionario;
    private javax.swing.JLabel labelObservacoesCliente;
    private javax.swing.JLabel labelPapelFuncionario;
    private javax.swing.JLabel labelRelatorioVendasFuncionario;
    private javax.swing.JLabel labelSalarioFuncionario;
    private javax.swing.JLabel labelSexoFuncionario;
    private javax.swing.JLabel labelTicketNomeProduto;
    private javax.swing.JLabel labelTicketNomecliente;
    private javax.swing.JLabel labelTicketNomecliente1;
    private javax.swing.JMenu movimentacao;
    private javax.swing.JRadioButton opcaoClienteFeminino;
    private javax.swing.JRadioButton opcaoClienteMasculino;
    private javax.swing.JRadioButton opcaoFuncionarioFeminino;
    private javax.swing.JRadioButton opcaoFuncionarioGerente;
    private javax.swing.JRadioButton opcaoFuncionarioMasculino;
    private javax.swing.JRadioButton opcaoFuncionarioNormal;
    private javax.swing.JMenu outros;
    private javax.swing.JPanel painelPrincipal;
    private javax.swing.JMenuItem preAlterarCliente;
    private javax.swing.JMenuItem preCadastrarCliente;
    private javax.swing.JMenuItem preCadastrarFuncionario;
    private javax.swing.JMenuItem preCadastrarProduto;
    private javax.swing.JMenuItem preConsultarCliente;
    private javax.swing.JMenuItem preConsultarFuncionario;
    private javax.swing.JMenuItem preConsultarProduto;
    private javax.swing.JMenuItem preMovimentacaoTicketCompra;
    private javax.swing.JMenuItem preMovimentacaoTicketVenda;
    private javax.swing.JMenu preRelatorioVendas;
    private javax.swing.JMenuItem preRelatoriosVendas;
    private javax.swing.JMenuItem preRelatoriosVendasFuncionario;
    private javax.swing.JMenuItem preRemoverCliente;
    private javax.swing.JMenuItem preSair;
    private javax.swing.JMenu remover;
    private javax.swing.JTable tabelaConsultarCliente;
    private javax.swing.JTable tabelaConsultarFuncionario;
    private javax.swing.JTable tabelaConsultarProduto;
    private javax.swing.JTable tabelaRelatorioFuncionario;
    private javax.swing.JTable tabelaRelatorioNome;
    private javax.swing.JTable tabelaRelatorioVendasCliente;
    private javax.swing.JTable tabelaRelatorioVendasFuncionario;
    private javax.swing.JTable tabelaTicketNome;
    private javax.swing.JTable tabelaTicketProduto;
    private javax.swing.JPanel telaAutenticacao;
    private javax.swing.JPanel telaCadastrarCliente;
    private javax.swing.JPanel telaCadastrarFuncionario;
    private javax.swing.JPanel telaCadastrarProduto;
    private javax.swing.JPanel telaConsultarCliente;
    private javax.swing.JPanel telaConsultarFuncionario;
    private javax.swing.JPanel telaConsultarProduto;
    private javax.swing.JPanel telaRelatorioVendasCliente;
    private javax.swing.JPanel telaRelatorioVendasFuncionario;
    private javax.swing.JPanel telaTicketVenda;
    // End of variables declaration//GEN-END:variables


    private Funcionario funcionarioLogado = new Funcionario();

    private Collection<Cliente> clientes = new ArrayList<Cliente>();
    private Collection<Funcionario> funcionarios = new ArrayList<Funcionario>();
    private Collection<Produto> produtos = new ArrayList<Produto>();
    private Collection<Produto> produtosAdicionados = new ArrayList<Produto>();

    
    

    private void exibirErros(Collection<String> erros) {
        StringBuilder mensagemErro = new StringBuilder();
        for(String erro : erros) {
            mensagemErro.append(erro+"\n");
        }
        JOptionPane.showMessageDialog(telaCadastrarCliente, mensagemErro);
    }
}
